Я бы порекомендовал начать с чтения С парсинга и создания страницы документации JSON. Вы узнаете о мощном классе groovy.json.JsonSlurper
, который позволяет эффективно работать с JSON документами.
Когда вы создаете JSON представление объекта с помощью метода, подобного:
def json = new JsonSlurper().parseText(rawJson)
Вы можете получить доступ к JSON полям документа так же, как и к свойствам объекта. Например, json.people
вернет вам список людей. Затем вы можете вызвать метод, подобный find(predicate)
, который возвращает первый результат, который соответствует данному предикату из списка. В этом случае вы можете вызвать что-то вроде:
def person = json.people.find { it.name == "sal" }
it
- это переменная, которая сохраняет ссылку на объект в процессе итерации. Это означает, что find
просматривает список и ищет первый объект, который соответствует it.name == "sal"
.
Когда вы найдете человека, связанного с именем, вы можете извлечь поля city
и age
таким же образом, как вы бы открывали поля объекта, например,
println person.age // prints 18
println person.city // prints vegas
Здесь полный пример:
import groovy.json.JsonSlurper
def rawJson = '''{"people": [
{
"name": "john",
"city": "chicago",
"age": "22"
},
{
"name": "gary",
"city": "florida",
"age": "35"
},
{
"name": "sal",
"city": "vegas",
"age": "18"
}
]}'''
def json = new JsonSlurper().parseText(rawJson) // creates JSON object
def person = json.people.find { it.name == "sal" } // finds the first person with name "sal"
assert person.city == "vegas" // calling person.city returns a city name
assert person.age == "18" // calling person.age returns age of a person
Чтобы узнать больше об обработке JSON документов с помощью Groovy, попробуйте прочитать страницу документации, которую я прикрепил выше. Это поможет вам понять более сложные варианты использования и поможет вам обрести уверенность в работе с синтаксическим анализом JSON документов с использованием Groovy. Надеюсь, это поможет.