如何使用org.json使用数组数组?

时间:2018-11-28 11:12:14

标签: java

我如何使用org.json使用此json?

{
    "links": [
        [
            "a0b7a44b-333a-4ad8-aa1c-6689bb6265e5",
            {
                "label": "main",
                "currency": "GHS"
            }
        ],
        [
            "00000000-0000-0000-0000-000000000200",
            {
                "label": "main",
                "currency": "GHS"
            }
        ]
    ]
}

它似乎是一个单项数组的数组,我不知道如何解压缩它。

编辑:

我看到了这个问题:

How to parse a json array with an array of arrays

那个人正在使用gson,我正在使用org.json。该问题的公认答案是:

  

尝试使用此:

private List<List<Object>> f = new ArrayList<List<Object>>();
     

然后f.get(0).get(0)将为您提供“类型”的字符串,并且   f.get(0).get(1)将给您一个JsonObject

     

http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/JsonObject.html

  • 我不知道如何将数据输入到f
  • 链接断开

1 个答案:

答案 0 :(得分:0)

这成功了。

        JSONObject obj = new JSONObject(inputString);

        JSONArray arr = obj.getJSONArray("links");
        for (int i = 0; i < arr.length(); i++) {
            System.out.println(arr.getString(i));
            JSONArray arr2 =arr.getJSONArray(i);
            for (int j = 0; j < arr2.length(); j++) {
                System.out.println(arr2.getString(j));
            }
            String s1 = arr2.getString(0);
            System.out.println(s1);
            JSONObject obj2 =arr2.getJSONObject(1);
            String s2 = obj2.getString("label");
            System.out.println(s2);
            String s3 = obj2.getString("currency");
            System.out.println(s3);
        }