使用Java中的JsonPath在JSON中解析数组

问题描述 投票:1回答:1

我正在使用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

有人建议采取适当的方法来达到我的预期。

java json jsonpath
1个回答
-1
投票

尝试使用,

DocumentContext documentContext = JsonPath.parse(jsonStr);
JsonPath jsonPath = JsonPath.compile("$.employees.people[?]");
List<Maps<String,String>> jsonList = documentContext.read(jsonPath);

如果您需要更多细节。 readmore...

© www.soinside.com 2019 - 2024. All rights reserved.