问题标签 [jsonpath]
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 - Mule ESB:将 JSON 对象转换为另一个对象
我有以下流程:
流词很好,正如您所见,JSON 对象将 Database 对象转换为以下内容:(带有单个对象的 JSON 数组):
请注意,444 是一个数值(它周围没有引号)。
我想做的事
创建一个没有数组的简单 JSON 结构
将 444 从数值更改为字符串值
让它看起来像:(将 444 放入另一个结构中)
{“总计”:“444”,“日期”:“14/07/14”}
我知道要获取系统日期,我执行以下操作:
...而且我知道要从原始字符串中获取 444 值,我执行了以下操作:
但我不知道下一步该做什么。
现在我使用了 JSON 对象来查看数据库连接器的结果,接下来我要做什么对象来创建我的新结构。
我是否使用另一个 JSON 对象,我将如何构造表达式?
arrays - 数组长度的 Jsonpath
给定json,例如
已知有名为 arr1 和 arr2 的数组,是否有长度的 jsonpath 表达式适用于空数组和非空数组的数组
值得注意的是,我使用谷歌代码的 JsonPath 库进行了几次尝试:
但它给出了一个错误,说数组没有属性。
我正在寻找解析为数组长度的单个字符串路径,而不是对中间体的后续调用,例如
任何复杂程度的表达都是可以接受的。
对于上下文,我想为测试套件提供路径/值对,这对值很有用,但我不能用这种模式断言数组大小。
java - 在 Talend 5.5 中使用正则表达式的 jsonpath
我有这个 json 字符串:
我想提取在 number: "0"
, "1"
, "2"
... 等节点之后的所有 id。
我已经通过使用 jsonpath: 成功获得了一个 id:$.response.data.0.id
并得到了"15124"
. 但我正在寻找一个 jsonpath,它将提取 Json 字符串中的所有 id。换句话说,这是扩展输出:15124
, 13498
, 14296
, 13364
, 14060
, 13672
.
这是我拥有的 Json 字符串:
感谢所有的帮助者!
json - Mule ESB 无法触发选择“何时”条件
我无法让 Mule ESB 触发选择“何时”条件
我将 Hello World 流转换为接受 JSON 对象(将 JSON 插入到 Object 节点)并执行 Choice 节点。
但我无法触发 CHoice 语句的“何时”条件;我总是去默认情况下。下面是流程:
在此流程中,我使用以下条件和 SetPayload(默认情况)语句:
下面是我的输出:
如您所见,我没有触发“何时”子句。但是,SetPayload 确实将 payload.get('uid') 输出为“ABC”
所以我再试了三个不同的时间,三个不同的“何时”条件:
但在所有这三种情况下,我得到以下信息:
我该如何解决这个问题?
谢谢
json - Mule ESB:无法取消引用 JSON 对象数组
我有一个返回以下 JSON 对象的流程:
“1”代表 select sum() 语句中的数据库行。
这是一个不寻常的 JSON 对象,在 JSONPath 中取消引用 444 的值的不寻常方法如下:
这是我用来打印整个 JSON 对象的流程:
所以我使用以下 SetPayload 表达式,并得到以下结果:
所以现在我想简单地提取值 444。所以我想我需要做一些类似的 JSONPath 语句
所以我尝试以下 SetPayload 表达式并得到以下结果:
好的,这是有道理的,所以我再试一次:
那么我该如何编写这个 SetPayload 表达式,以便在给定 JSON 对象的情况下返回 444 的值
谢谢
编辑
我改变了我的流程如下:
但是,我得到以下输出:
json - Mule ESB:如何在选择节点上获得部分匹配
我有以下流程:
我尝试将 ABC 的 uid 匹配到 ABC,我得到了一个成功的数学,见下文
我现在需要做的是尝试仅匹配 uid 的前三个字符
换句话说,给定以下 JSON 对象
我想只用前三个字母 (ABC) 来满足条件
所以我保留原始流程,并将 JSON 对象更改为
...我得到以下回复:
C:\curl>类型 input2.txt { "uid" : "ABC002" }
如您所见,它没有达到输入字符串 ov ABC002 的 when 条件
我使用的when Condition是
如何更改此表达式,使其仅检查传入字符串的前三个字符?
谢谢
transform - 加特林将变换与 jsonpath 相结合
我正在尝试从此响应中提取 security_token :
我试过结合 transform 和 jsonPath :
但我收到此错误:
让我知道是否有一种简单的方法可以实现这一目标。
谢谢
json - Mule ESB,如何在 JSON 数组中添加一组数字
我有一个数据库连接返回看起来像这样的东西(在 Object-to-JSON Transformer 之后:
请注意 JSON 语句包含在 JSON 数组中。
鉴于上述结构,如何将数组第二列中的所有数字字段相加?除了来自数据库的 SEELCT SUM() 之外,我将使用哪个节点。
谢谢
json - JSON 有效负载的 Jsonpath
我有以下 JSON 有效负载。我想以通用方式使用 JSON 路径表达式提取值“value_for_key_attribute_Y”(即没有硬编码任何数组值,如 [1])有什么想法吗?
json - Gatling:获取 REST 资源,更改 JSON 叶,回发
我正在编写一个测试脚本,使用 Scala 在 Gatling 中测试一个 REST 接口。
对于特定的 REST 资源,这是我想要实现的:
- 获取资源(这将在正文中为我提供 JSON 数据)。
- 使用 jsonpath 更改正文中的值。
- 将修改后的正文发布回相同的 url
我已经成功使用 1 和 3。剩下的唯一问题是更改似乎是字符串格式的 json 数据。
测试步骤
部分场景
我收到以下错误