问题标签 [jsonslurper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4993 浏览

json - 当满足条件时,使用 Groovy 从 JSON 中提取嵌套的 Maps/EntrySets

在代码领域遇到了大麻烦,因此我需要帮助!

使用 Groovy 和 JsonSlurper 我正在处理以下形式的 JSON。当“类型”键设置为某个值时,我正在寻找外部包含元素(在我的情况下,这一切都应该是地图)。例如,如果类型是“Type5”,那么我需要返回三个 Map:包含外部 Type5 的“body” Map,包含 INNER Type5 的“body” Map,以及靠近底部的 Type5 Map(每个的 EntrySet 也可以正常工作)。Type3 和 Type4 表现出相同的行为!

根据请求编辑以具有有效的 Json

我通过 Groovy 的 JsonSlurper 运行它,所以它应该是有效的。

我只是这样做:

虽然我可以很容易地访问结构的各个部分,但要获得所有具有任意嵌套级别的“Type5”是我无法做到的。任何人都可以在这件事上大放异彩吗?

0 投票
2 回答
3379 浏览

groovy - 如何使用 groovy 断言 json 响应内容?

在响应请求时,我有以下内容:

我想断言设置的内容。例如,我尝试这个来断言 logoPosition = "left"

断言 json.components.settings[0].logoPosition[0] == "left"

它不工作

这部分运行良好:

请任何帮助,谢谢

0 投票
1 回答
4951 浏览

arrays - 使用 Groovy 连接 JSON 数组/对象

如何使用 Java 或 Groovy 合并或连接两个独立的不同 JSON 数组或 JSON 对象并将其视为单个 JSON 对象。

请参阅下面的示例 JSON 独立对象我有第一个持有职责信息

第二个 JSON 对象包含证书信息

我需要连接并访问以下格式的两个 JSON `

请让我知道完成此操作的可用选项。谢谢

0 投票
1 回答
659 浏览

mysql - 使用 JsonSlurper 解析 MySQL Json 输出返回 groovy.lang.MissingMethodException

我目前正在研究一种使用 Groovy 的 JsonSlurper 解析 MySQL 查询部分输出的方法。

我正在尝试从此查询中提取 LAT 和 LONG 值。

包含 Json 的查询可以很好地读入数据库,并返回预期值,但是,当我尝试在我的 JsonSlurper 中解析这个 Json 时,我得到一个 java Missing Method 异常,它抱怨 parseText()。该错误建议使用 parseText 作为解决方案,尽管这是正在使用的。

错误如下:groovy.lang.MissingMethodException: No signature of method: groovy.json.JsonSlurper.parseText() is applicable for argument types: (java.util.ArrayList)

我的代码如下:

产生 json 的查询部分如下:

然后我在我的 JsonSlurper 方法中调用该列表,该方法被填充为应用程序中的数据库字段:

然后,我计划在网页中填充这些字段,但在我能够从解析中返回它们之前,我无法执行此操作。纬度和经度值是整数,尽管它们被解析为字符串。

0 投票
1 回答
292 浏览

json - JSONException 错误 Grails

使用 JsonSlurper 解析 JSON 文件

我的代码如下

每当我运行此代码时,我都会收到如下错误打印

有趣的是,它适用于我拥有的示例 JSON url 之一,而其他两个则失败。(我已经检查并确认所有三个 url 都包含有效的 JSON 文件)

谁能告诉我我的代码有什么问题?

0 投票
1 回答
11284 浏览

json - JsonSlurper 返回无方法签名:groovy.json.JsonSlurper.parseText() 适用于参数类型:(java.util.ArrayList)

我正在尝试使用 JsonSlurper.parseText 解析 JSON 文件,但不断遇到类似问题。

每当我运行我的应用程序时,错误消息都会显示

没有方法签名:groovy.json.JsonSlurper.parseText() 适用于参数类型:(java.util.ArrayList)

我知道 JsonSlurper.parseText() 要求 java.util.ArrayList 类型作为输入。所以我尝试了以下方法来确定使用此代码的输入类型。

这将打印出以下内容:

我不明白为什么当我用正确的数据类型输入输入时会出现这个错误。

有什么建议么?

0 投票
1 回答
7849 浏览

json - Groovy JsonSlurper and nested maps

I have a method that returns fairly-nested JSON such as:

When I try to use JsonSlurper to slurp this JSON into a def result I am getting exceptions:

Produces an exception thrown when parseText executes:

Any ideas what the fix is?

0 投票
0 回答
1566 浏览

groovy - 在 Jenkins 中使用带有 Reader 的 Groovy JsonSlurper 导致 IllegalArgumentException

我有以下代码,我正在使用 Groovy 2.4.3 从 Jenkins 非系统 Groovy 脚本执行

但是,当我运行它时,我得到以下异常:

JsonSlurper.parse(Reader r) 方法确实需要一个 Reader,所以我不明白为什么这不起作用。我也尝试过使用 JsonSlurper.parse(String s) 方法,但得到了同样的错误。我还打印了通过 FileReader 读取的内容,它是正确的。

谁能发现我做错了什么,或者这是我遇到的另一个 Jenkins 限制。

添加了请求的信息: jsonSlurper: groovy.json.JsonSlurper@19e733e Print of new File(...) { "job": [ { "jenkins_name": "ForceAResult-fail", "utmsEnabled": "1", "utmsCycleId": "1", "utmsProejct": "Unity", "utmsTeam": "CA-SS System Software", "utmsTestName": "Force_a_test", "utmsTestPlanId": "2", "utmsTestSetId": "3", }, { "jenkins_name": "ForceAResult-pass", "utmsEnabled": "1", "utmsCycleId": "1", "utmsProejct": "Unity", "utmsTeam": "CA-SS System Software", "utmsTestName": "Force_a_test", "utmsTestPlanId": "2", "utmsTestSetId": "3", } ]}

Uncaught Exception: java.lang.IllegalArgumentException: argument type mismatch org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.IllegalArgumentException: argument type mismatch at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) at groovy.lang.MetaClassImpl.setProperty(MetaClassImpl.java:2699)

添加了 Divesh 的信息

[EnvInject] - 加载节点环境变量。建立在工作区 /var/lib/jenkins/workspace/Groovy 版本系统 Groovy 版本:1.8.9 路径:/var/lib/ccache/bin:/c4shares/auto/tools/bin:/usr/local/bin: /usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/accurev/bin:/opt/CmTools/shbin:/re/bin:/re/thirdparty_tools /java/tags/linux/Production/bin:/opt/pegasus/bin:/re/thirdparty_tools/ant/tags/Production/bin:/c4shares/auto/devutils/bin:/usr/lib/mit/bin:/ usr/lib/mit/sbin:/usr/NX/bin

GROOVY_HOME:空

[Groovy 版本] $ /var/lib/jenkins/tools/hudson.plugins.groovy.GroovyInstallation/Groovy_2.4.3/bin/groovy "/var/lib/jenkins/workspace/Groovy 版本/hudson6179818785298037506.groovy" 2015 年 9 月 24 日上午 8 点 11 分 25 秒 org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule 警告:模块 [groovy-nio] - 无法加载扩展类 [org.codehaus.groovy.runtime.NioGroovyMethods] 执行 Groovy 脚本 - 非系统

Divesh 的请求开始:

0 投票
2 回答
978 浏览

json - 如何解析 Json 响应并截断子节点

这是我试图解析的 JSON 响应:

}

从 Json 中,我需要在“ListContent”节点下提取“id”并将其存储在一个数组中。此外,需要忽略子节点下的“id”。这是我试图用它来实现的一个时髦的脚本,

所以,我期待的数组是 CList [178,179,180,181,182] 但我目前为空。仅从“ListContent”读取“id”并将其写入数组的正确常规应该是什么?任何帮助将非常感激。提前致谢。

0 投票
2 回答
113 浏览

groovy - Groovy / jsonSlurper 在断言中使用 OR (IN)

我希望这对于“已批准”和“Aprobada”都是正确的,但这不起作用:

谢谢