如何解析json文件并读取groovy中的json元素

问题描述 投票:-2回答:1

嗨,我想解析下面的json文件。我尝试使用jsonsluper并解析该文件。我执行下面的命令。什么都行不通。

def test =newjsonslurper().parsetext(organist)
  test.resources.each{
  println it.resources.metadata. "guid"
  println it.resources.entity. "name"
}

这是json文件格式

resources: [
  {
    "metadata" :{
    "guid":"cya"
     "url": "dummy.test"
  },
  "entity" :
    {
      "name": "system"
      "status": "active"
    }
  }
  {
    "metadata" :
       {
         "guid":"cya"
         "url": "dummy.test"
       },
     "entity" :
       {
         "name": "system"
         "status": "active"
       }
  }
]
json groovy
1个回答
0
投票

有几个问题:

  • JsonSlurper().parseText()期待一个字符串。如果您想要解析文件,请使用类似def response = new JsonSlurper().parse(new File('JsonFile.json'))的内容
  • JSON有效负载无效:它缺少一些括号和逗号。

以下代码应该有效:

import groovy.json.JsonSlurper

def test = new JsonSlurper().parseText '''
{"resources": [
    {
        "metadata": {
            "guid": "cya",
            "url": "dummy.test"
        },
        "entity": {
            "name": "system",
            "status": "active"
        }
    },
    {
        "metadata": {
            "guid": "cya",
            "url": "dummy.test"
        },
        "entity": {
            "name": "system",
            "status": "active"
        }
    }
]}
'''

test.resources.each {
    println it.metadata.guid
    println it.entity.name
}
© www.soinside.com 2019 - 2024. All rights reserved.