问题标签 [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 投票
2 回答
11534 浏览

json - Groovy 比较两个带有未知节点名称和值的 json

我有一个要测试的休息 API,我必须比较两个 json 响应。您可以在下面找到该文件的结构。要比较的两个文件应包含相同的元素,但顺序可能不同。不幸的是,名称、类型(简单、数组)和键的数量(根、节点XYZ)也是未知的。

我在 Groovy 中找到了一些有用的信息 - 比较两个 JSON 对象(相同的结构)并返回包含差异的 ArrayList 从 Json Response Groovy 获取节点 :我如何使用键的值搜索 json 并在 groovy 中找到它的子对象, 但我无法将其组合到一个解决方案。我认为解决方案可能如下所示:

有了所有名称,比较应该很容易(我猜)不幸的是我没有设法获得根目录下的密钥

0 投票
1 回答
775 浏览

json - 如何使用 JsonSlurper?

我在 SOAP UI 中编写了一个测试用例,它创建一个用户并返回 Id。这是 JsonResponse。通过一个 Groovy 脚本,我需要提取id

我对 Groovy 很陌生。请帮我解决一下这个。

0 投票
1 回答
5660 浏览

json - 带有转义引号的 Groovy JsonSlurper JSON 值

我正在开发一个用 Groovy 编写的小工具,用于解析电子邮件中的 JSON 字符串。其中一些 JSON 字符串具有包含转义引号的 JSON 值。

例如:

为了解析这些字符串,我使用了 Groovy 的 JsonSlurper。以下代码演示了我的问题:

有关现场演示,请参阅https://groovyconsole.appspot.com/script/6193189027315712

执行此代码时,会引发以下异常:

因此,JsonSlurper 忽略了引号的转义。不幸的是,我无法控制输入,即 JSON 字符串。因此,我必须找到一种方法将这样的 JSON 字符串解析为映射或任何其他适当的数据结构。

0 投票
1 回答
541 浏览

groovy - 使用 Groovy 将 WebService 响应转换为 Json 数组和 Jsobobject

我正在使用 SoapUI 测试 RESTful Web 服务。为此,我们使用 Groovy。我正在使用 jsonslurper 将响应解析为 Object 类型。

我们的回复与此类似:

在此之后,我坚持如何去做。

  1. 获取数组(因为这是数组(以 - 开头language
  2. 如何通过传递键从每个数组单元格中获取值(result如果 name='MATHS'只有,我应该获取键的值。)

我可以使用 Java 来做到这一点,但在刚刚学习 Groovy 时,我无法理解这一点。我们有相同名称的不同键。

0 投票
2 回答
2713 浏览

json - Groovy + JsonSlurper 奇怪的行为

我有以下代码来解析 JSON 文件:

处理以下 JSON 文件:

如果我执行此代码,我将收到以下错误:

所以当然我开始一步步调试应用程序,看看部分处理()中的哪部分代码抛出了这个异常。令人惊讶的是,那里的所有代码都正常执行:没有抛出异常并返回结果我除外。

更让我吃惊的是,当我稍微更改第一种方法的代码时,它可以正常工作而不会产生异常。

我不知道println方法如何改变那里的任何东西。当然,它不一定是println方法可以解决问题。所以如果我做这样的事情:

它也可以正常工作(不会抛出任何异常)。我不知道为什么在处理 json 文件后有一些额外的代码应该在此处进行任何更改。

刚才我其实已经把处理方法注释掉了,所以方法体如下图。

即使我收到了同样的例外。因此,该错误与处理方法的实现无关。

非常感谢您的意见。

0 投票
1 回答
1032 浏览

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 键“地址”仍然是一个字符串。

如何在运行时定义地址键值的同时将地址键值从字符串更改为映射?

0 投票
1 回答
192 浏览

json - JsonSlurper 浮点精度问题

我有一个包含一些数据和配置参数的文件,在将其用作 POST 休息调用的主体数据之前,我需要更改这些文件。

所以我使用 slurper 来获取配置值

然后我更改所需的配置参数

然后将修改后的输入文件写入临时文件

当我意识到输出文件比输入文件大三倍时,我感到非常惊讶。我检查了内容,看起来 slurper 改变了浮点精度。

修改前

修改后

任何想法如何解决它?

编辑 1:添加了一些输入数据

http://wklej.org/hash/4de6639a5bf/txt/

0 投票
1 回答
82 浏览

json - 如何解析 JsonSluper 对象?

我有以下JsonSluper对象:

我想得到以下信息JsonObject

我想将 的feature值转换JsonSluperJsonObject

0 投票
2 回答
259 浏览

groovy - JsonSlurper 避免修剪字符串中的最后一个零

我在 groovy 中使用 JsonSlurper 将 json 文本转换为地图。

结果是

我需要结果而不修剪最后一个零。喜欢

已经检查了各种解决方案,但是如果不修剪最后一个零,这不会被转换。我在这里错过了什么吗。

我发现的一种方法是输入如下:

0 投票
2 回答
394 浏览

json - 使用 groovy 读取 json 的名称

我有以下 JSON 结构,我正在尝试将名称 order/sale/Cancel 检索到 groovy 中的字符串变量

我能够做到这一点,通过一些研究使用 JSON slurper 读取 JSON,但不确定如何读取名称.. 我看到的大多数文章都指向读取值而不是名称。

我已经从 XML 转换为 JSON,所以如果可以使用 XML 或 JSON 来完成这将有所帮助。