我試圖在 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 回答

慕運(yùn)維8079593
TA貢獻(xiàn)1876條經(jīng)驗 獲得超5個贊
上述方法不起作用的原因有幾個:
如果您正在調(diào)用
JsonPath.read(String, String)
,那么第一個字符串應(yīng)該是 Json 本身,而不是 Json 文件的路徑。用于
*
JsonPath 的根無效,它應(yīng)該是$
.在您要查找的內(nèi)容上方還有另一個對象:
searchResult
。
您的最終 JsonPath 應(yīng)該是$.searchResult.singleAccomViewData
. 解決上述問題,它應(yīng)該會按預(yù)期工作。
添加回答
舉報
0/150
提交
取消