小编典典

如何使用groovy解析json

json

我想解析传入的JSON数据,例如:

{
   "212315952136472": {
      "id": "212315952136472",
      "name": "Ready",
      "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/195762_212315952136472_4343686_s.jpg",
      "link": "http://www.hityashit.com/movie/ready",
      "likes": 5,
      "category": "Movie",
      "description": "Check out the reviews of Ready on  http://www.hityashit.com/movie/ready"
   }
}

我使用的代码是:

JSONElement userJson = JSON.parse(jsonResponse)
userJson.data.each {
    Urls = it.link
}

但是我无法分配任何东西给Urls。有什么建议?


阅读 644

收藏
2020-07-27

共1个答案

小编典典

该响应是一个Map,具有单个元素,键为“ 212315952136472”。地图中没有“数据”键。如果要遍历所有条目,请使用以下命令:

JSONObject userJson = JSON.parse(jsonResponse)
userJson.each { id, data -> println data.link }

如果您知道它是单元素地图,则可以直接访问link

def data = userJson.values().iterator().next()
String link = data.link

而且,如果您知道ID(例如,如果您使用它来发出请求),则可以更简洁地访问该值:

String id = '212315952136472'
...
String link = userJson[id].link
2020-07-27