为了账号安全,请及时绑定邮箱和手机立即绑定

Jsonpath 总是返回空列表

Jsonpath 总是返回空列表

凤凰求蛊 2023-06-14 16:42:39
我试图在 jayway JsonPath 的帮助下从 json 文件中获取值。但每次它返回空列表。我正在尝试将 json 路径用作 *.singleAccomViewDataimport java.util.*;import com.jayway.jsonpath.DocumentContext;import com.jayway.jsonpath.JsonPath;public class JSONMapper {  public static void main(String[] args) throws Exception {    DocumentContext jsonContext = JsonPath.parse("D:\\Docs\\search.json");     List<String> accom = JsonPath.read("D:\\Docs\\search.json", "*.singleAccomViewData");     System.out.println("accom value: " + accom);  }}下面是我的 JSON 文件:{  "searchResult": {    "singleAccomViewData": null,    "singleAccomSearch": false,    "durationSelection": {      "defaultDisplay": [        6,        7,        8,        9,        10      ]     }   }}
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

上述方法不起作用的原因有几个:

  1. 如果您正在调用JsonPath.read(String, String),那么第一个字符串应该是 Json 本身,而不是 Json 文件的路径。

  2. 用于*JsonPath 的根无效,它应该是$.

  3. 在您要查找的内容上方还有另一个对象:searchResult

您的最终 JsonPath 应该是$.searchResult.singleAccomViewData. 解决上述问题,它应该会按预期工作。


查看完整回答
反对 回复 2023-06-14
  • 1 回答
  • 0 关注
  • 264 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信