Java Jsonpath始终返回空列表
我试图在jayway JsonPath的帮助下从json文件中获取值。但每次它都返回空列表 我正在尝试将json路径用作*.singleAccomViewDataJava Jsonpath始终返回空列表,java,jsonpath,Java,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
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);
}
}
上述方法不起作用的原因有几个:
JsonPath.read(String,String)
,那么第一个字符串应该是Json本身,而不是Json文件的路径*
是无效的,它应该是$
searchResult
您的最终JsonPath应该是
$.searchResult.singleAccomViewData
。解决上述问题后,它将按预期工作。上述问题不起作用的原因如下:
JsonPath.read(String,String)
,那么第一个字符串应该是Json本身,而不是Json文件的路径*
是无效的,它应该是$
searchResult
您的最终JsonPath应该是
$.searchResult.singleAccomViewData
。修复上述问题,它应该能按预期工作。这是因为在您的JSONno中,“singleAccomViewData”:null
,即使我尝试其他人,也会得到空列表。代表*发言。singleAccomSearch@SeanBright它仍然会给我一个空列表,这是因为在你的JSONno中,“singleAccomViewData”:null
,即使我尝试其他人,也会得到空列表。代表*发言。singleAccomSearch@SeanBright但它还是给了我一张空名单
{
"searchResult": {
"singleAccomViewData": null,
"singleAccomSearch": false,
"durationSelection": {
"defaultDisplay": [
6,
7,
8,
9,
10
]
}
}
}