关于提取 json 内容的问题

使用问题 · 429 次浏览
ataa 创建于 2024-01-27 00:49

如题,希望提取 json 指定路径下的所有子项,并以列表形式返回。如下图这第三方验证结果:

然而,在 Quicker 中运行就提取不到任何内容,如图:

把路径换成 Numbers.* 就可行,但是当只有一项子项的时候,提取到的结果格式不符预期,如图:

希望的是下图这种结果(依然是 json 格式):

 

也就是说,我希望用一个表达式$.Numbers[*]能同时提取有一个或多个子项的情况,验证也可行,但是在 Quicker 中无效。

 

系统是 win10 22H2 专业版

Quicker 版本是 1.39.43

 

纯萌新,求助,求助,感谢大佬们!


乐昂岚【接定制】 2024-01-27 09:46 :

直接number试一下

回复内容
ataa 2024-01-27 00:53
#1

验证的网址:JSONPath在线验证

H-D-G 回复 ataa 2024-01-27 11:33 :

['Numbers'][*]

CL 2024-01-27 11:33
#2

这个是对json.net的简单封装,预期的是返回简单的文本内容,会先尝试SelectToken方法返回单个值,失败时再使用SelectTokens尝试返回数组值。 所以只有一个子项的时候,第一个方法可能会成功,得到了非预期的格式。

较为复杂的内容格式,建议使用表达式,在表达式里使用json.net库中的方法。 

https://www.newtonsoft.com/json 

https://www.newtonsoft.com/json/help/html/t_newtonsoft_json_linq_jtoken.htm 




ataa 2024-01-27 15:17
#3

感谢大佬们,问题已解决

回复主贴