android 之JSON
16lz
2021-12-04
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; }
更多相关文章
- AndroidStudio出现tools:replace="android: authorities",tools:r
- Android(安卓)SDK的docs访问速度很慢
- Android(安卓)动画ObjectAnimator中height和translationY
- 2010.12.08——— android progressDialog
- 那些大厂的Android高级工程师岗位都需要做些什么?
- Android(安卓)APP设计加载使用gif动图需要注意的一般性问题
- Android菜单留痕
- ImageView的android:maxHeight,android:minHeight的正确设置
- Android_SDK_NDK_JNI