1

我有以下示例 json:

{\"2013-05-30\":{\"available\":\"1\",\"bind\":0,\"info\":\"\",\"notes\":\"\",\"price\":\"\",\"promo\":\"\",\"status\":\"available\"},
\"2013-05-31\":{\"available\":\"1\",\"bind\":0,\"info\":\"\",\"notes\":\"\",\"price\":\"\",\"promo\":\"\",\"status\":\"available\"},
\"2013-06-01\":{\"available\":\"1\",\"bind\":0,\"info\":\"\",\"notes\":\"\",\"price\":\"\",\"promo\":\"\",\"status\":\"available\"}}

我将它读入一个字符串,然后将它解析为一个 JSONObject,但我需要它在一个 JSONArray 中。在将其转换为 JSONArray 之前,我尝试以编程方式在字符串的开头添加“[”并在其末尾添加“]”,尽管它会将其识别为数组,但仍将其视为单个对象(我似乎只有 JSONArray(0))。

这就是我尝试将 jsonData 解析为数组的方式:

try{
jArray = new JSONArray(resultString);
for(int i=0;i<jArray.length();i++){
        JSONObject json_data = jArray.getJSONObject(i);
        Log.i("log_4","Available: "+json_data.getString("available")+
        ", Bind: "+json_data.getString("bind")+
        ", Info: "+json_data.getString("info") +
        ", Notes: "+json_data.getString("notes") +
        ", Price: "+json_data.getString("price") +
        ", Promo: "+json_data.getString("promo") +
        ", Status: "+json_data.getString("status")
        );
    }
}catch(JSONException e){
Log.e("log_5", "Error parsing data "+e.toString());
}

这是我不添加 [ 和 ] 的版本,因此将其解析为 JSONObject。

try {
    jsonResponse = new JSONObject(resString);
} catch (JSONException e) {
    Log.e("log_3", "Error parsing data "+e.toString());
    }

如何将每一天(例如“2013-05-30”)分成不同的对象,每个对象都以当天的值作为键?

非常感谢!

4

1 回答 1

1

不要在开头添加 a[]在结尾添加 a ,而是尝试替换 with 的第一个实例和{with[的最后一个实例,}然后]从中创建一个 JSONArray。

于 2013-07-11T15:02:01.037 回答