我正在使用jayway JsonPath库来使用给定的路径解析JSON。如果我给出正确的路径,我能够获得字符串值。但是当我给出路径时,我想得到地图列表,如果它是一个数组。例如,我有一个如下的JSON:
{
"employees": {
"company": "Google",
"people": [{
"name": "John",
"age": 25,
"location": "zurich"
},
{
"name": "Peter",
"age": 27,
"location": "Lucerene"
}]
}
}
下面是我用来解析json的代码。
如果我给路径$.employees.people
,我得到字符串,但我需要地图列表。下面是我用于使用jsonpath解析Json的代码。
DocumentContext documentContext = JsonPath.parse(jsonStr);
JsonPath jsonPath = JsonPath.compile("$.employees.people");
List<Maps<String,String>> jsonList = documentContext.read(jsonPath) //But this is returning String
有人建议采取适当的方法来达到我的预期。
尝试使用,
DocumentContext documentContext = JsonPath.parse(jsonStr);
JsonPath jsonPath = JsonPath.compile("$.employees.people[?]");
List<Maps<String,String>> jsonList = documentContext.read(jsonPath);
如果您需要更多细节。 readmore...