将JSON对象转换为List <string>

时间:2016-11-14 10:26:52

标签: android arrays json list

我有以下JSON对象

 {"LIST":{"row_12":{"id":"11","name":"blah blah"},
"row_13":{"id":"8","name":"blah blah"},
"row_10":{"id":"3","name":"blah blah"},
"row_11":{"id":"14","name":"blah blah"},
"row_2":{"id":"27","name":"blah blah"},
"row_1":{"id":"2","name":"blah blah"},
"row_4":{"id":"23","name":"blah blah"},
"row_14":{"id":"43","name":"blah blah"},
"row_15":{"id":"35","name":"blah blah"},
"row_3":{"id":"36","name":"blah blah"},
"row_5":{"id":"30","name":"blah blah"},
"row_6":{"id":"34","name":"blah blah"},
"row_7":{"id":"17","name":"blah blah"},
"row_8":{"id":"37","name":"blah blah"},
"row_9":{"id":"1","name":"blah blah"}}} 

我想将它转换为List我从类似于我的问题的答案中尝试了几个代码,但是它们没有用,我认为这是因为行中的每个对象都有它的名字。如何将对象转换为List。

2 个答案:

答案 0 :(得分:1)

您必须使用keys()迭代器来获取所有属性,然后在每个对象上调用get()

Iterator<String> iter = json.keys();
while (iter.hasNext()) {
    String key = iter.next();
    try {
        Object value = json.get(key);
    } catch (JSONException e) {
        // went wrong!
    }
}

//这里json是&#34; LIST&#34;的对象。 Json对象。

以下是供您参考的链接。 Iterating through JSONObject

答案 1 :(得分:0)

JSONObject list = response.getJSONObject("LIST");
JSONObject rowOne = list.getJSONObject("row_12");
String id = rowOne.getString("id");
String name = rowOne.getString("name");

您按照此程序执行了14次,因为您的回复键,值对不同。您应该在每个行的内部列表中询问kor JSONArray。 “response”是您在Async recieve方法上收到的JSONObject。 希望能帮助到你。 [PS:你的问题在stackOverFlow中是一个不好的做法。请check this link查看stackOverFlow的问题发布方法。] 干杯!