解析多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(); } } }
相关文章推荐
- Data获取字节数据,组成字符串出错 rapidjson解析出错
- javascript中eval解析JSON字符串
- jsoncpp封装和解析字符串、数字、布尔值和数组
- JSON之生成JSON字符串和解析
- 将json格式的字符串解析成Map对象
- jsoncpp封装和解析字符串、数字、布尔值和数组
- JsonObject生成Json字符串,并且解析为对象-----JsonReader解析Json字符串
- js 将json字符串转换为json对象的方法解析
- cJSON库(构建json与解析json字符串)-c语言
- js解析json对象和json字符串
- MVC Newtonsoft.Json解析JSON字符串
- android json解析带object的字符串
- Objective-C-使用NSMutableURLRequest发送POST请求,使用NSJSONSerialization解析JSON字符串
- 解析复杂的json字符串
- JSON字符串的解析
- java 解析JSON字符串
- c# 解析json 字符串 报异常 Bad JSON escape sequence 解决方案
- go-simplejson|解析json字符串
- 将json解析为单个字符串
- 在android 中发送和解析json ,android处理json字符串