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格式數據。
上一篇python 微軟自動化
下一篇html客服網頁代碼