问题标签 [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 - JSONPath / QML - 获取字符串数组中的元素
所以我正在为 QML 使用 JSONListModel,我需要帮助来解析这个JSON 文件
这是一个获取在线玩家姓名的 Minecraft 服务器查询。但是,我无法将每个节点添加到我的 List 委托。
这是我的代码:
如您所见,我有一个查询,它是我要查看的元素的 JSONPath。
我想得到的是球员的名字,一个接一个。我使用通配符来获取所有名称,但是当我将文本的文本设置为模型 ("$['players'][0-x]") 时,我得到:
这指向该行:
在 JSONListModel.qml 中。
所以,是的,我猜我的路径是错误的。我不知道如何处理数组,例如链接中 JSON 文件中的数组。
如果文件类似于:
我可以做
但我不能,因为节点没有名字。它们只是价值观。
有人能帮我吗?
java - JsonPath:如何提取多个值并使用函数。?
XPath 解析这个表达式“concat(name,type)”。我也可以在 JsonPath 中执行此操作吗?- 一次提取多个值并在其上使用一些功能。
我正在使用谷歌的 JsonPath 的 java 实现。
谢谢!
java - 使用 JsonPath 在不知道密钥的情况下提取值
我有一个这样的json字符串:
我想使用JsonPath提取文件名 {"fileA.c","fileB.txt"} 。请注意,文件的数量是未知的。
问题是,我不知道文件名是键还是值:
- 如果它是一个密钥……那么我当然不知道密钥名称,因为那是我要提取的信息。
- 如果它是一个值,那么它的键是什么?
- 我可以使用 JsonPath 提取文件名吗?如果是这样,怎么做?
- 如果 JsonPath 不能做到这一点,是否有任何 Json 的 Java 库可以实现这一点?
json - JSON 路径查询可能性
有什么可能性JSONPath queries
。以下是我从JSONPath - XPath for JSON找到的查询
在以下方面也可能有效的查询JSONPath
当我使用在线评估器JSONPath Online Evaluator尝试这些查询时,这些查询不起作用,所以我想知道什么是正确的可能性集。
json - 有没有办法在 JSONPath 中获取字符串值的子字符串?
基本上,我需要使用 JSONPath 获取字符串值的一部分。我无法先使用 JSONPath 获取完整值,然后再使用另一种语言获取其中的一部分。
有没有办法在 JSONPath 中做到这一点?
java - 如何断言 JSON 节点具有分配给它们的某些值的子节点?
我有一个 JSON 字符串,如下所示:
有没有办法在同一个语句/断言中断言ID
ofThing
是123
AND它name
是“ Yet Another Thing
” ?
目前,我似乎无法使用过滤器:
我得到以下异常:
java.lang.IllegalArgumentException:无效的容器对象
这可能是因为[]
上面的 JSON 字符串中没有数组表示法吗?应该有吗?
在相关说明中,是否有关于使用 Hamcrest(带有 JSON 断言)的很好的介绍?我知道官方教程,但我似乎总是弄错......
更新:这样做的理由是:如果我得到几个Thing
元素,我不能保证他们的顺序(所以我不能匹配Thing[1]
(除非我循环遍历它们))?如何确保一个元素同时具有正确的 ID 和正确的名称?如果我单独检查孩子,我会不会冒一个人Thing
有正确的名字,另一个人有正确的 ID,但没有一个人同时拥有这两者的风险?(这种 JSON 格式是否可行,或者在这种情况下我是否必须使用数组,例如"Thing": [ { ... }, { ... } ], ...
?
PS:我最后尝试使用上面的 JsonPath 如下:assertEquals("Yet Another Thing", JsonPath.read(json, "$.Things.Thing[?(@.ID == '123')].name"));
所以这也是异常可能来自的地方。另外,我最初在 JsonPath 邮件列表上问过这个问题,但到目前为止没有得到任何回复,所以希望我能更快地在这里得到帮助...... :)
javascript - Angular / Javascript“四舍五入”长值?
我有以下 JSON:
我有以下 Angular/JS 代码:
令人惊讶的是(对我来说,我不是 JS 专家),我发现某些东西(?)将值四舍五入到 1000 的精度(四舍五入最后 3 位数字)。这是一个问题,因为这是某物的哈希码。
另一方面,如果我将值作为字符串写入 JSON,例如 -
这不会发生。但这给我带来了一个不同的问题(使用 JMeter/JSON 路径,它通过运行我的查询来提取值 ["4830991188237466859"] $.hashcode
- 我不能将其用作 HTTP 请求参数(我需要添加?hashcode=...
到查询中,但是我最终得到?hashcode=["..."]
因此,我感谢以下方面的帮助:
- 了解谁和为什么——四舍五入我的哈希,以及如何避免它
- JMeter/JSON 路径帮助
谢谢!
json - 如何获得正确的 JSONPath?
我有以下 JSON 结构:
我想写一个 XPath 命令来获取Price
元素,它Name
是Ab1
我尝试了以下方法:"//Name[Ab1]/Price"
但这对我不起作用。
javascript - 从 JSON 数据(客户端或服务器端)获取 JSONPath
我有一个这样的 JSON 对象:
根据 JSONPath 规范,如果我想选择所有“标题”,我将使用:
现在,对于我的 JSON 数据中的每个不同属性,我需要以一般方式获取其 JSONPath 字符串(例如,我不需要完全“标题”的 JSONpath - 像$.photos.photo[1].title
- 但一般的 JSONpath - like $.photos.photo[*].title
)。
编辑:我会尝试更好地解释(对不起我的英语不好!),我想要做的是以这种方式获取与每个属性相关的 JSONPath:
等等...
如何用 JS 或 PHP 语言解决这个问题?谢谢!
json - 选择一个没有节点名称的 JSON 元素
我有多个具有相同架构的 JSON 文件:
使用 xpath 或 JSONPath 我想将每个元素提取到一个表中:
我使用查询和限制字段没有问题..query
,..limit
但我找不到提取id
字段的语法(即q0
和q1
)。
我一直在尝试@*
,$*
但没有成功。那么有没有办法选择一个没有节点名的 JSON 元素呢?
正如评论中所说,我正在使用 talend tExtractJSONField 组件,它使用 XPath 来解析 JSON。