您好,匿名用户
随意问技术百科期待您的加入

android中如何解析没有Key的Json数据

0 投票

各位,我从服务器上得到返回的JSON数据没有KEY该如何解析啊?先谢谢各位了。

像是下面这样的JSON数据,

[
     {
        "screen_name": "阿信",
         "followers_count": 11091994,
         "uid": 1265020392
     },
     {
         "screen_name": "阿信星闻",
         "followers_count": 22427,
         "uid": 1822541757
     }

 ]

前都没有key值的,该怎么解析啊,我试着先将字符串转化为数组,在循环遍历数组提取出每个数组中想要的:

JSONArray jsonArray = new JSONArray(retStr);
for (int i = 0; i < jsonArray.length(); i++)
{
  JSONObject jsonObject = jsonArray.getJSONObject(i);
	{
	  HashMap<String, Object> hashMap = new HashMap<String, Object>();
	  hashMap.put("count", jsonObject.getString("followers_count"));
	  hashMap.put("name", jsonObject.getString("screen_name"));
	  Data.add(hashMap);			          
         }
}

但是提示我 org.json.JSONException: Value <html of type java.lang.String cannot be converted to JSONArray 那怎么弄啊?

用户头像 提问 2014年 2月15日 @ Sagittarius 上等兵 (289 威望)
分享到:

1个回答

0 投票
 
最佳答案

import org.json.JSONException;
import org.json.JSONObject;

//先把字符串转化为数组,然后遍历数组,在提取

JSONObject jstr = null;
try {
jstr = new JSONObject(arg1);

} catch (JSONException e) {
e.printStackTrace();
}

String game_serverid = null;
try {
game_serverid = jstr.getString("game_serverid");
} catch (JSONException e) {
e.printStackTrace();
}

String game_userid = null;
try {
game_userid = jstr.getString("game_userid");
} catch (JSONException e) {
e.printStackTrace();
}

方法1:割断字符串
删除前后的中括号,将{}提取出来(匹配"},{"来找到分界点,然后割断字符窜,行成一个数组,这些数组里面添加就是json),里面是有key:value的,

方法2:插入法
在每一个大段没有key的{前,插入自己的key,可以是这样:[1:{...},2:{...}, n:{...}],然后在用我上面给的方法。

这两种方法仅限于你这类比较简单的json的。

用户头像 回复 2014年 2月15日 @ Rammus 上等兵 (334 威望)
选中 2013年 9月7日 @Sagittarius
提一个问题:

相关问题

0 投票
1 回复 41 阅读
用户头像 提问 2012年 12月1日 @ Tryndamere 上等兵 (325 威望)
0 投票
1 回复 30 阅读
0 投票
0 回复 30 阅读
0 投票
0 回复 21 阅读
0 投票
0 回复 20 阅读
用户头像 提问 2012年 12月1日 @ Cho'Gath 上等兵 (267 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...