【发布时间】:2016-02-05 23:26:57
【问题描述】:
这是 JSON:
{
"datas": {
"selling": {
"3": [
26452067,
31625950
],
"206": [
32381852,
32489262
],
"208": [
458
],
"217": [
27364892
],
"226": [
30474109
]
}
},
"status": 0
}
我的路径是$.datas.selling['3','206'].\*
我想同时获得“3”和“206”数据。像这样的 JSON:
[
26452067,
31625950,
32381852,
32489262
]
但现在它不起作用。错误信息是
多属性只能用作路径叶子: $['datas']['sales']['3', '206']
我的 JsonPath maven 版本是 2.0.0 (JsonPath's test website)。
其实JsonPath可以在0.9.1版本运行,是不是bug?
我该如何解决?
2015-12-01 现在,JsonPath 新版本解决了这个问题。 谢谢!
【问题讨论】:
-
我对jsonpath一无所知,但如果它只涉及json那么很容易解析。
-
为什么不直接使用路径 .datas. sell['3'].* 和 .datas. sell['206'].* 并结合结果?
-
为什么不使用 gson 或 jackson..?
-
我认为问题有两个方面:1) 您使用的表达式可能看起来合乎逻辑,但底层 source code 不支持它2) 很遗憾,您无法过滤 keys。所以要么更改源代码(我不推荐),要么通过组合两个查询来使用@NecroTheif 的解决方案。
-
@NecroTheif 在某些场景中,我无法合并它。
标签: java json regex parsing jsonpath