问题标签 [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.
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”是我无法做到的。任何人都可以在这件事上大放异彩吗?
groovy - 如何使用 groovy 断言 json 响应内容?
在响应请求时,我有以下内容:
我想断言设置的内容。例如,我尝试这个来断言 logoPosition = "left"
断言 json.components.settings[0].logoPosition[0] == "left"
它不工作
这部分运行良好:
请任何帮助,谢谢
arrays - 使用 Groovy 连接 JSON 数组/对象
如何使用 Java 或 Groovy 合并或连接两个独立的不同 JSON 数组或 JSON 对象并将其视为单个 JSON 对象。
请参阅下面的示例 JSON 独立对象我有第一个持有职责信息
第二个 JSON 对象包含证书信息
我需要连接并访问以下格式的两个 JSON `
请让我知道完成此操作的可用选项。谢谢
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 方法中调用该列表,该方法被填充为应用程序中的数据库字段:
然后,我计划在网页中填充这些字段,但在我能够从解析中返回它们之前,我无法执行此操作。纬度和经度值是整数,尽管它们被解析为字符串。
json - JSONException 错误 Grails
使用 JsonSlurper 解析 JSON 文件
我的代码如下
每当我运行此代码时,我都会收到如下错误打印
有趣的是,它适用于我拥有的示例 JSON url 之一,而其他两个则失败。(我已经检查并确认所有三个 url 都包含有效的 JSON 文件)
谁能告诉我我的代码有什么问题?
json - JsonSlurper 返回无方法签名:groovy.json.JsonSlurper.parseText() 适用于参数类型:(java.util.ArrayList)
我正在尝试使用 JsonSlurper.parseText 解析 JSON 文件,但不断遇到类似问题。
每当我运行我的应用程序时,错误消息都会显示
没有方法签名:groovy.json.JsonSlurper.parseText() 适用于参数类型:(java.util.ArrayList)
我知道 JsonSlurper.parseText() 要求 java.util.ArrayList 类型作为输入。所以我尝试了以下方法来确定使用此代码的输入类型。
这将打印出以下内容:
我不明白为什么当我用正确的数据类型输入输入时会出现这个错误。
有什么建议么?
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?
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 的请求开始:
json - 如何解析 Json 响应并截断子节点
这是我试图解析的 JSON 响应:
}
从 Json 中,我需要在“ListContent”节点下提取“id”并将其存储在一个数组中。此外,需要忽略子节点下的“id”。这是我试图用它来实现的一个时髦的脚本,
所以,我期待的数组是 CList [178,179,180,181,182] 但我目前为空。仅从“ListContent”读取“id”并将其写入数组的正确常规应该是什么?任何帮助将非常感激。提前致谢。
groovy - Groovy / jsonSlurper 在断言中使用 OR (IN)
我希望这对于“已批准”和“Aprobada”都是正确的,但这不起作用:
谢谢