【发布时间】:2015-10-19 04:53:03
【问题描述】:
我正在尝试解析没有数组的 JSON 数据,目前我的代码循环通过 JSONArray 并且工作正常。
问题/错误
我不确定如何对没有数组的 JSON 执行相同的操作。当我在没有数组的 JSON 中没有要处理的数组长度时如何循环。
代码:- 目前适用于带有数组的 JSON 数据
JSONArray inbox = null;
List<NameValuePair> params = new ArrayList<NameValuePair>();
// getting JSON string from URL
JSONObject json = jsonParser.makeHttpRequest(INBOX_URL, "GET",
params);
try {
inbox = json.getJSONArray(TAG_ARRAY);
inbox.toString();
// looping through All messages
for (int i = 0; i < inbox.length(); i++) {
JSONObject c = inbox.getJSONObject(i);
// Storing each json item in variable
String id = c.getString(TAG_ID);
String person = c.getString(TAG_PERSON);
…..
…..
…..
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_ID, id);
map.put(TAG_FROM, person);
…..
…..
…..
没有数组的 JSON
[
{
"id": "1",
"person": "David",
"thur": "",
"grade": "15",
"round": "",
"tour": ""
},
{
"id": "T2",
"person": "Mary",
"thur": "",
"grade": "13",
"round": "",
"tour": ""
},
]
JSON WITH ARRAY - 上面的代码可以正常工作
{
"id": [
{
"id": "1",
"person": "Jason",
"thur": "F",
"grade": "17",
"round": "2"
},
{
"id": "2",
"person": "Joe",
"grade": "F",
"score": "16",
"round": "3"
}
]
【问题讨论】:
-
您需要更改
makeHttpRequest以便它可以返回 JSONArray。
标签: java android arrays json loops