问题标签 [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
我有一个要测试的休息 API,我必须比较两个 json 响应。您可以在下面找到该文件的结构。要比较的两个文件应包含相同的元素,但顺序可能不同。不幸的是,名称、类型(简单、数组)和键的数量(根、节点XYZ)也是未知的。
我在 Groovy 中找到了一些有用的信息 - 比较两个 JSON 对象(相同的结构)并返回包含差异的 ArrayList 从 Json Response Groovy 获取节点 :我如何使用键的值搜索 json 并在 groovy 中找到它的子对象, 但我无法将其组合到一个解决方案。我认为解决方案可能如下所示:
有了所有名称,比较应该很容易(我猜)不幸的是我没有设法获得根目录下的密钥
json - 如何使用 JsonSlurper?
我在 SOAP UI 中编写了一个测试用例,它创建一个用户并返回 Id。这是 JsonResponse。通过一个 Groovy 脚本,我需要提取id
我对 Groovy 很陌生。请帮我解决一下这个。
json - 带有转义引号的 Groovy JsonSlurper JSON 值
我正在开发一个用 Groovy 编写的小工具,用于解析电子邮件中的 JSON 字符串。其中一些 JSON 字符串具有包含转义引号的 JSON 值。
例如:
为了解析这些字符串,我使用了 Groovy 的 JsonSlurper。以下代码演示了我的问题:
有关现场演示,请参阅https://groovyconsole.appspot.com/script/6193189027315712。
执行此代码时,会引发以下异常:
因此,JsonSlurper 忽略了引号的转义。不幸的是,我无法控制输入,即 JSON 字符串。因此,我必须找到一种方法将这样的 JSON 字符串解析为映射或任何其他适当的数据结构。
groovy - 使用 Groovy 将 WebService 响应转换为 Json 数组和 Jsobobject
我正在使用 SoapUI 测试 RESTful Web 服务。为此,我们使用 Groovy。我正在使用 jsonslurper 将响应解析为 Object 类型。
我们的回复与此类似:
在此之后,我坚持如何去做。
- 获取数组(因为这是数组(以 - 开头
language
) - 如何通过传递键从每个数组单元格中获取值(
result
如果name='MATHS'
只有,我应该获取键的值。)
我可以使用 Java 来做到这一点,但在刚刚学习 Groovy 时,我无法理解这一点。我们有相同名称的不同键。
json - Groovy + JsonSlurper 奇怪的行为
我有以下代码来解析 JSON 文件:
处理以下 JSON 文件:
如果我执行此代码,我将收到以下错误:
所以当然我开始一步步调试应用程序,看看部分处理()中的哪部分代码抛出了这个异常。令人惊讶的是,那里的所有代码都正常执行:没有抛出异常并返回结果我除外。
更让我吃惊的是,当我稍微更改第一种方法的代码时,它可以正常工作而不会产生异常。
我不知道println方法如何改变那里的任何东西。当然,它不一定是println方法可以解决问题。所以如果我做这样的事情:
它也可以正常工作(不会抛出任何异常)。我不知道为什么在处理 json 文件后有一些额外的代码应该在此处进行任何更改。
刚才我其实已经把处理方法注释掉了,所以方法体如下图。
即使我收到了同样的例外。因此,该错误与处理方法的实现无关。
非常感谢您的意见。
json - 如何更改 jsonslurped 惰性映射条目的值(和类型)
我有以下 JSON:
我已经使用 JsonSlurper 来解析它。我需要能够根据各种标准修改 JSON 的内容。我要修改的键是外部定义的。
我可以轻松更改字符串值,如下所示。下面导致lazyMap中的地址字段从“main st”更改为“second st”。
我似乎无法解决的问题是,如果我想将地址值从字符串更改为地图。
上面的 $newAddressMap 被解释为导致以下错误的字符串:
启动失败:Script1.groovy:1:当前范围已包含名称为 York @ 第 1 行第 51 列的变量。 s = [city:New York, state:New York, str
但是,以下工作(将地址键值从字符串更改为 LazyMap),但需要我的键是已知的/硬编码的:
下面没有错误,但 $newAddressMap 是一个字符串,而lazyMap 键“地址”仍然是一个字符串。
如何在运行时定义地址键值的同时将地址键值从字符串更改为映射?
json - JsonSlurper 浮点精度问题
我有一个包含一些数据和配置参数的文件,在将其用作 POST 休息调用的主体数据之前,我需要更改这些文件。
所以我使用 slurper 来获取配置值
然后我更改所需的配置参数
然后将修改后的输入文件写入临时文件
当我意识到输出文件比输入文件大三倍时,我感到非常惊讶。我检查了内容,看起来 slurper 改变了浮点精度。
修改前
修改后
任何想法如何解决它?
编辑 1:添加了一些输入数据
json - 如何解析 JsonSluper 对象?
我有以下JsonSluper
对象:
我想得到以下信息JsonObject
:
我想将 的feature
值转换JsonSluper
为JsonObject
groovy - JsonSlurper 避免修剪字符串中的最后一个零
我在 groovy 中使用 JsonSlurper 将 json 文本转换为地图。
结果是
我需要结果而不修剪最后一个零。喜欢
已经检查了各种解决方案,但是如果不修剪最后一个零,这不会被转换。我在这里错过了什么吗。
我发现的一种方法是输入如下:
json - 使用 groovy 读取 json 的名称
我有以下 JSON 结构,我正在尝试将名称 order/sale/Cancel 检索到 groovy 中的字符串变量
我能够做到这一点,通过一些研究使用 JSON slurper 读取 JSON,但不确定如何读取名称.. 我看到的大多数文章都指向读取值而不是名称。
我已经从 XML 转换为 JSON,所以如果可以使用 XML 或 JSON 来完成这将有所帮助。