当前位置: 首页 > 面试题库 >

如何使用groovy解析json

尤祖鹤
2023-03-14
问题内容

我想解析传入的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。有什么建议?


问题答案:

该响应是一个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


 类似资料:
  • 由于Groovy擅长解析几乎任何东西,因此搜索如何解析Groovy代码不会显示任何好的结果-所以我希望SO社区能够提供帮助:-) 我想为grails领域类编写某种(图形化)编辑器,但不想重新发明轮子。 通过反射检查域类很容易,但是我想更进一步——我想修改代码并将其作为域类文件写回来。 一个问题是反射(以及afaik AST)会丢弃所有注释和格式(格式不是大问题,我可以打印文件)… 我可以在哪里找到

  • 例如,我有一个包含一些属性的Jenkinsfile 我想在groovy代码中解析上面的Jenkinsfile,以便访问一些属性值。 当我像这样使用GroovyShell时 我得到这个错误 我可能能够通过一些Groovy元编程绕过特定错误,但是,我不确定这是否是正确的方向。我的问题是,在Groovy代码中解析Jenkinsfile的最佳方法是什么?这就是Groovy DSL,我希望它更简单。

  • 请帮助::我如何处理这些每一个。每一个或为每一个或什么?我有一个.xml我正试图用Groovy脚本解析。下面是.xml: 下面是我的Groovy脚本: 结果如下: 我的问题是:我可以在的代码块中放入什么代码 为了单独打印每个项,如“port”和“protocol”等等,对于.xml块“connector”的每个实例?多谢了。

  • 问题内容: 我应该如何使用Node.js解析JSON?是否有一些模块可以安全地验证和解析JSON? 问题答案: 你可以简单地使用。 JSON对象的定义是ECMAScript 5规范的一部分。node.js基于Google Chrome的V8引擎构建,该引擎遵循ECMA标准。因此,node.js也有一个全局对象。JSON 注意- 可以占用当前线程,因为它是一种同步方法。因此,如果你打算解析大型JSO

  • IntelliJ的Sonarlint插件对我们的Java代码进行分析,但它不会在同一项目中分析Groovy代码。 我们有一个Grails项目,它在命令行上与sonar runner一起工作。当我安装IntelliJ IDEA Sonarlint插件时,该插件似乎没有从命令行配置中获取设置,并且它没有像编辑器中的Java文件那样显示问题的警告突出显示。 我们的项目使用“代码覆盖率”Grails插件生

  • 我正在使用来解析Json数据。我的Json数据如下: GsonParse.java 我使用以下方法来解析此JSON数据。 我面对以下错误。