欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

groovy 多層級json

錢淋西2年前8瀏覽0評論

Groovy是一種基于JVM的動態語言,它結合了Python、Ruby和Java等不同語言的特點。在Groovy中,可以很方便地使用json格式數據,并對多層級json進行處理。

下面我們以一個多層級json為例,演示Groovy如何進行處理。

def json = '''
{
"name": "Emma",
"age": 25,
"address": {
"province": "Hubei",
"city": "Wuhan",
"district": "Hongshan"
},
"hobbies": [
{
"type": "sport",
"name": "basketball"
},
{
"type": "music",
"name": "piano"
}
]
}
'''

在Groovy中,將json解析成對象可以使用JsonSlurper類。下面的示例演示了如何讀取json中的內容:

import groovy.json.JsonSlurper
JsonSlurper slurper = new JsonSlurper()
def data = slurper.parseText(json)
//獲取普通字段
def name = data.name
def age = data.age
//獲取嵌套字段
def province = data.address.province
def city = data.address.city
def district = data.address.district
//獲取數組字段
def hobbies = data.hobbies
//遍歷數組
hobbies.each {
println it.name //獲取單個元素的name屬性
}

除了上述方法外,我們還可以使用JsonOutput類,將對象轉成json格式。示例代碼如下:

import groovy.json.*
def map = [
name: 'John',
age: 25,
address: [
province: 'Hubei',
city: 'Wuhan',
district: 'Hongshan'
],
hobbies: [
[
type: 'sport',
name: 'basketball'
],
[
type: 'music',
name: 'piano'
]
]
]
def jsonOutput = new JsonOutput()
def jsonText = jsonOutput.prettyPrint(jsonOutput.toJson(map))
println(jsonText)

以上就是Groovy處理多層級json的基本方法,非常方便實用。相信掌握這些技巧后,您可以更加高效地使用Groovy來處理json格式數據。