如何从JSON String获取实体的值

时间:2017-08-11 06:10:57

标签: java json

这是我的Json String,我正在尝试获取Entity的值。我是使用JSON的初学者。

[
    {
        "_id": "john",
        "preferences": [
            {
                "Entity": [
                    "IBM",
                    "Pfizer"
                ]
            },
            {
                "Topic": "Pharma"
            }
        ]
    }
]

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

尝试如下:

JSONObject myjson = new JSONObject(the_json_string);
JSONArray the_json_array = myjson.getJSONArray("profiles");

了解更多:How to parse a JSON and turn its values into an Array?

答案 1 :(得分:0)

您可以使用gson库。如果您的输入是JSON字符串,则首先需要使用JsonParser对象对其进行解析,该对象返回JsonElement,将其转换为JsonArray,因为输入Json是数组。然后使用get(0)从中提取第一个对象,然后将其转换为JsonObject,将preferences元素提取为JsonArray,并按照类似的过程获取Entity

        String jsonString = "[" +
            "    {" +
            "        \"_id\": john," +
            "        \"preferences\": [" +
            "            {" +
            "                \"Entity\": [" +
            "                    IBM," +
            "                    Pfizer" +
            "                ]" +
            "            }," +
            "            {" +
            "                \"Topic\": Pharma" +
            "            }" +
            "        ]" +
            "    }" +
            "]";

    JsonArray jsonArray = new JsonParser().parse(jsonString).getAsJsonArray();

    JsonArray preferences = jsonArray.get(0).getAsJsonObject().get("preferences").getAsJsonArray();
    JsonArray entity = preferences.get(0).getAsJsonObject().get("Entity").getAsJsonArray();