我试图在 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个赞
上述方法不起作用的原因有几个:
如果您正在调用
JsonPath.read(String, String)
,那么第一个字符串应该是 Json 本身,而不是 Json 文件的路径。用于
*
JsonPath 的根无效,它应该是$
.在您要查找的内容上方还有另一个对象:
searchResult
。
您的最终 JsonPath 应该是$.searchResult.singleAccomViewData
. 解决上述问题,它应该会按预期工作。
添加回答
举报
0/150
提交
取消