您的位置:首页 > Web前端 > JavaScript

解析多json组成的字符串

2014-04-03 13:46 323 查看
{"result":0,"num":1,"contents":[{"friendID":8,"familyID":4,"friendName":"8978","isActive":1,"createTime":"2014/03/04 17:23:42"}]}
{"result":23,"num":1,"contents":[{"type":4,"content":null,"sendTime":"2014/03/04 19:26:26","senderId":1,"nickName":"11"}]}

//String str = "{\"result\":0,\"num\":1,\"contents\":[{\"friendID\":8,\"familyID\":4,\"friendName\":\"8978\",\"isActive\":1,\"createTime\":\"2014/03/04 17:23:42\"}]}{\"result\":23,\"num\":1,\"contents\":[{\"type\":4,\"content\":null,\"sendTime\":\"2014/03/04 19:26:26\",\"senderId\":1,\"nickName\":\"11\"}]}" ;
//Log.e("old",str);
if(null == str){
return ;
}
boolean isContain = str.contains("}{") ; // 是否包含了很多json
if(isContain){// 包含了很多json,需要拆分,分开解析
String[] jsons = str.split("[}][{]") ;
if(null == jsons)
return ;
for(int i=0 ;i<jsons.length ;i++){
if(i%2 == 0)
jsons[i] = jsons[i] + "}" ;
else
jsons[i] = "{" + jsons[i] ;
}

for(int j=0 ;j<jsons.length ;j++){
Log.e("json","---------- josn " + j + " ------------");
JSONObject jsonObject =  null;
try {
jsonObject = new JSONObject(str);
String result = jsonObject.optString("result") ;
int num = jsonObject.optInt("num") ;
LogUtil.e("findFamilyFriends", "result = " + result+" ,num = " + num) ;
JSONArray jsonArray = jsonObject.getJSONArray("contents");
if((null == jsonArray) && (jsonArray.length() < 0)){
LogUtil.e("findFamilyFriends", "no contents!") ;
return ;
}

for(int i=0 ;i<num ;i++){
JSONObject json = jsonArray.getJSONObject(i);
Iterator<String> iter = json.keys();
String key = null ;
String value = null ;
while(iter.hasNext()){
key = iter.next() ;
value = json.getString(key) ;
LogUtil.e("findFamilyFriends", key + " = " + value) ;
}
}
} catch (JSONException e) {
e.printStackTrace();
}

}
}else{
JSONObject jsonObject =  null;
try {
jsonObject = new JSONObject(str);
String result = jsonObject.optString("result") ;
int num = jsonObject.optInt("num") ;
LogUtil.e("findFamilyFriends", "result = " + result+" ,num = " + num) ;
JSONArray jsonArray = jsonObject.getJSONArray("contents");
if((null == jsonArray) && (jsonArray.length() < 0)){
LogUtil.e("findFamilyFriends", "no contents!") ;
return ;
}

for(int i=0 ;i<num ;i++){
JSONObject json = jsonArray.getJSONObject(i);
Iterator<String> iter = json.keys();
String key = null ;
String value = null ;
while(iter.hasNext()){
key = iter.next() ;
value = json.getString(key) ;
LogUtil.e("findFamilyFriends", key + " = " + value) ;
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ANDROID