Jsonpath 总是返回空列表

我试图在 jayway JsonPath 的帮助下从 json 文件中获取值。但每次它返回空列表。


我正在尝试将 json 路径用作 *.singleAccomViewData


import 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

      ] 

    }

   }

}


凤凰求蛊
浏览 265回答 1
1回答

慕运维8079593

上述方法不起作用的原因有几个:如果您正在调用JsonPath.read(String, String),那么第一个字符串应该是 Json 本身,而不是 Json 文件的路径。用于*JsonPath 的根无效,它应该是$.在您要查找的内容上方还有另一个对象:searchResult。您的最终 JsonPath 应该是$.searchResult.singleAccomViewData.&nbsp;解决上述问题,它应该会按预期工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java