嘿,我有一个项目,我必须解析一个JSON对象它真的让我很难将这些数据处理成一种格式我可以使用Json数据本身看起来像这样
{
"users": {
"token": "FFFFFFFFF###5",
"username": "wanjiku",
"full name": "Wanjiku Karimi",
"profilePic": "http://freevar.com/vr-content/uploads/2012/08/Freevar-Profile-Pictures-Pimp.jpg",
"cradle": [
{
"name": "wanjiku's rock",
"id": "1",
"logo": "http://freevar.it/150x150"
}
]
}
}
我从JsonObject中检索这些数据的代码是这样的
try{
JSONObject json_data = new JSONObject(result);
JSONArray jArray = null;
jArray = json_data.getJSONArray("users");
for(int i = 0; i < jArray.length(); i++){
JSONObject c = jArray.getJSONObject(i);
System.out.println(c.getString("token"));
}
请帮我检索当前错误的数据
org.json.JSONObject无法转换为JSONArray
答案 0 :(得分:4)
用户不是JSONArray而是JSONObject:
更改
jArray = json_data.getJSONArray("users");
与
JSONObject jObj = json_data.getJSONObject("users");
答案 1 :(得分:1)
你可以使用这个
JSONObject json_data = new JSONObject(result);
JSONArray jArray = null;
JSONObject jobj = json_data.getJSONObject("users");
System.out.println(jobj.getString("token"));
System.out.println(jobj.getString("username"));
System.out.println(jobj.getString("full name"));
jArray = jobj .getJSONArray("cradle");
for(int i = 0; i < jArray.length(); i++){
JSONObject c = jArray.getJSONObject(i);
System.out.println(c.getString("name"));
System.out.println(c.getString("id"));
System.out.println(c.getString("logo"));
}
[ - &gt;这代表了Json数组
{ - &gt;这代表了Json对象