android中如何解析没有Key的Json数据
澳门博彩导航网址
澳门博彩导航网址
当前位置 : 澳门博彩导航网址 > 网上赌博新址

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

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

像是下面这样的JSON数据,

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

 ]

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

JSONArray jsonArray = new JSONArrayretStr;
for int i = 0; i < jsonArray.length; i++
{
  JSONObject jsonObject = jsonArray.getJSONObjecti;
	{
	  HashMap<String, Object> hashMap = new HashMap<String, Object>;
	  hashMap.put"count", jsonObject.getString"followers_count";
	  hashMap.put"name", jsonObject.getString"screen_name";
	  Data.addhashMap;			          
         }
}

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

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

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

JSONObject jstr = null;
try {
jstr = new JSONObjectarg1;

} 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的。

JSONObject job=...
JSONArray jarr = job.names;

试试看

jsonObject.optString"screen_name",""即可;

jsonObject = new JSONObjectcontents.trim;
Iterator<?> keys = jsonObject.keys;

while keys.hasNext {
    String key = Stringkeys.next;
    if jsonObject.getkey instanceof JSONObject {

    }
}

http://stackoverflow.com/questions/9151619/java-iterate-over-jsonobject/10593838#10593838

List newList=new;
newList = new ArrayList;
try{
JSONArray jsonArray = new JSONArrayarg2; //获取到的String转换为JsonArray

for int i = 0; i < jsonArray.length; i++ {
JSONObject item = jsonArray.getJSONObjecti; // 得到每个对象
News news=new News; //新建一个类 类的字段 对应每个对象上的key字段数量不限
news.setIditem.getString"id"; //id 就是数组上每个对象内的key
news.setCodeitem.getString"code";
news.setNameitem.getString"name";
news.setCreatedTimeitem.getString"createdTime";
newList.addnews; //newList 是一个数组 类型为
}

你可以看一下数据,你返回数据是不正确的的。应该是服务器端出错了,返回了错误提示,要么就是你地址用错了。
它都提示你<html 了,很明示这是html的标签,说明返回的数据就是个标准的网页,根本就不是JSON。

栏目列表

广告位

澳门博彩导航网址