2016-12-08 7 views
1

Я новичок в groovy и вам нужно разобрать ответ JSON. ответ выглядит так:Разбор JSON-ответа с использованием groovy

[ 
    { 
     "name": "John", 
     "start_date": "2016-09-30", 
     "sort_order": 1 
    }, 
    { 
     "name": "Tony", 
     "start_date": "2016-06-30", 
     "sort_order": 2 
    } 
] 

Как я могу получить каждый объект от этого? хотел бы получить имя, start_date и sort_order для каждого студента вместе.

ответ

3

используется бы JsonSlurper

import groovy.json.* 

def json = '''[ 
    { "name": "John", "start_date": "2016-09-30", "sort_order": 1 }, 
    { "name": "Tony", "start_date": "2016-06-30", "sort_order": 2 } ]''' 

def parsed = new JsonSlurper().parseText(json) 

assert parsed.name == ['John', 'Tony'] 
+0

Чтобы получить то, что вы просите Punter сделать это, но было бы parsed.each {Println его}, которые должны получить, что вы хотите. – visch

+0

Спасибо за ответ, но я должен был быть немного более яснее о том, какой результат я хочу, чтобы напечатать общее количество объектов, а затем распечатать каждый объект. т.е. учащиеся = 2, учащийся 1 (имя = john, start_date = 2016-09-30), учащийся 2 (имя = Tony, start_date = 2016-06-30) в соответствии с порядком сортировки – Punter

+0

Добавлен этот бит для получения что я хочу. Спасибо tim_yates и dataman. для (пункт в разобран) { \t Защиту Name = item.name \t Защиту StartDate = item.start_date \t Защиту SortOrder = item.sort_order \t Println "название:" + имя \t Println "StartDate является:" + startDate \t println "sortOrder is:" + sortOrder } – Punter

Смежные вопросы