JSON有多个具有相同名称的对象

时间:2017-04-05 21:53:10

标签: java json

我有一个小函数,它发出一个JSON Api请求并返回一个字符串给Postexecute:

public class fetch extends AsyncTask<URL, Void, String> {
    @Override
    protected String doInBackground(URL... urls) {
        URL search = urls[0];
        String results = null;
        try {
            results = getResponse(search);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return results;
    }

现在我想获得一些特定的JSON对象,但我有多个相同的对象:

[
    {
        "A1": {
            "about": {
                "IDs": [19]
            }, ,
            "value": 1
        },
        "A2": {
            "about": {
                "IDs": [19]
            },
            "value": 2
        }
    },
    {
        "A1": {
            "about": {
                "IDs": [20]
            }, ,
            "value": 3
        },
        "A2": {
            "about": {
                "IDs": [20]
            },
            "value": 4
        }
    }
]

我该怎么做?

1 个答案:

答案 0 :(得分:3)

那里有一组数组中的地图对象。

在这个漂亮的JSON编辑器中查看它:http://jsoneditoronline.org/?id=78f6765cb52e5403d01a8feead392611

首先访问数组元素0或1,然后访问地图对象。

secondObject = myjsonarray.getJsonObject(1)
a2 = secondObject.getJsonObject("A2")
thisisfour = a2.getInt("value")

或者所有人串在一起:

thisisfour = myjsonarray.getJsonObject(1).getJsonObject("A2").getInt("value")

相关的javadoc引用:

http://docs.oracle.com/javaee/7/api/javax/json/JsonObject.html http://docs.oracle.com/javaee/7/api/javax/json/JsonArray.html