Groovy -json的访问元素

dtcbnfnu  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(163)

我有这个json输出:

{"UT":{
  "test_results":[
   [
     {
         "branches": "8",
          "build": "normal"
     },
     {
         "branches": "8",
         "build": "normal"
     }
   ]
  ],
 }
}

我使用这段代码:

def json = JsonOutput.toJson(br2)
            def parsed = new groovy.json.JsonSlurper().parseText(json)

我解析了文本,但是我如何访问build的值呢?

cmssoen2

cmssoen21#

JsonSlurper().parseText(json)调用将返回一个LazyMap。从这里,你可以像处理任何Map一样处理它。官方的groovy文档在这里有一个平易近人的解释器。
在您的例子中,有多种方法可以获得build的值。您的json结构似乎有一个额外的列表 Package 了test_results对象。如果这是常量,您可以做如下操作:

assert parsed["UT"]["test_results"][0]["branches"] == ["8", "8"]

或者,您可以简单地将直接访问返回的值扁平化:

assert parsed["UT"]["test_results"]["branches"].flatten() == ["8", "8"]

相关问题