我有以下示例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\"}}
我将其读入一个String然后将其解析为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”)分成另一个对象,每个对象都具有当天价值的关键字?
非常感谢!
答案 0 :(得分:1)
不是在开始时添加[
而在结尾添加]
,而是尝试将{
的第一个实例替换为[
,并将}
的最后一个实例替换为]
1}}使用{{1}},然后从中制作JSONArray。