Android Json-判断json是JSONObject还是JSONArray
16lz
2021-01-23
- 通过JSONTokener来判断json是JSONObject还是JSONArray
public static String getJsonJointString(String top, String jsonStr) { StringBuffer sb = new StringBuffer(); try { Object object = new JSONTokener(jsonStr).nextValue(); if (object instanceof JSONObject) { JSONObject jsonObject = (JSONObject) object; Iterator iterator = jsonObject.keys(); while (iterator.hasNext()) { String key = (String) iterator.next(); String value = jsonObject.getString(key); if (hasLower(value)) { String s = getJsonJointString(key,value); s.substring(0, s.length() - 1); sb.append(s); } else { if (top!=null&&!"".equals(top)) { sb.append(top+"."+key).append("=").append(value).append("&"); } else { sb.append(key).append("=").append(value).append("&"); } } } } else if (object instanceof JSONArray) { JSONArray jsonArray = (JSONArray) object; if (jsonArray.length() > 0) { for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); Iterator iterator = jsonObject.keys(); while (iterator.hasNext()) { String key = (String) iterator.next(); String value = jsonObject.getString(key); if (hasLower(value)) { String s = getJsonJointString(key,value); s.substring(0, s.length() - 1); sb.append(s); } else { if (top!=null&&!"".equals(top)) {//[{},{}] sb.append(top+"["+i+"]"+"."+key).append("=").append(value).append("&"); } else { sb.append(key).append("=").append(value).append("&"); } } } } } } } catch (JSONException e) { e.printStackTrace(); } return sb.toString(); } public static boolean hasLower(String json) { if (json==null||"".equals(json)) { return false; } if ((json.contains("{") && json.contains("}")) || (json.contains("[") && json.contains("]"))) { return true; } else { return false; } }
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer