android 之JSON
16lz
2021-01-23
1、android 读取json数据(遍历JSONObject和JSONArray)
public String getJson(){ String jsonString = "{\"FLAG\":\"flag\",\"MESSAGE\":\"SUCCESS\",\"name\":[{\"name\":\"jack\"},{\"name\":\"lucy\"}]}";//json字符串 try { JSONObject result = new JSONObject(jsonstring);//转换为JSONObject int num = result.length(); JSONArray nameList = result.getJSONArray("name");//获取JSONArray int length = nameList.length(); String aa = ""; for(int i = 0; i < length; i++){//遍历JSONArray Log.d("debugTest",Integer.toString(i)); JSONObject oj = nameList.getJSONObject(i); aa = aa + oj.getString("name")+"|"; } Iterator<?> it = result.keys(); String aa2 = ""; String bb2 = null; while(it.hasNext()){//遍历JSONObject bb2 = (String) it.next().toString(); aa2 = aa2 + result.getString(bb2); } return aa; } catch (JSONException e) { throw new RuntimeException(e); } }
JSONArray的合并
在Android开发过程中,需要处理解析服务器JSON数据时,或需要进行两个或多个JSONArray合并操作。
比如在进行LIstView的动态更新时。
在此提供一种JSONArray合并的方法,方便需要时调用。
public static JSONArray joinJSONArray(JSONArray mData, JSONArray array) { StringBuffer buffer = new StringBuffer(); try { int len = mData.length(); for (int i = 0; i < len; i++) { JSONObject obj1 = (JSONObject) mData.get(i); if (i == len - 1) buffer.append(obj1.toString()); else buffer.append(obj1.toString()).append(","); } len = array.length(); if (len > 0) buffer.append(","); for (int i = 0; i < len; i++) { JSONObject obj1 = (JSONObject) array.get(i); if (i == len - 1) buffer.append(obj1.toString()); else buffer.append(obj1.toString()).append(","); } buffer.insert(0, "[").append("]"); return new JSONArray(buffer.toString()); } catch (Exception e) { } return null; }
更多相关文章
- [导入]Android平台上四种保存数据的方法
- android HttpURLConnection 连接网络 读取返回数据
- Android 取出 图片以字节形式存放到数据库的数据,并将图片显示
- Android的关键的持久数据应该在onPause()方法中保存
- 【面试】Android Retrofit+Rxjava 如何实现同时请求多个接口数据
- android 建数据库 SQLite 存储sd 卡或者内存
- Android应用程序组件Content Provider的共享数据更新通知机制分
- android 数据库 备份还原
- Android ListView SimpleAdapter ArrayList 数据更新问题 zhuan