android端获取网络json格式动态生成二维数组
2013-02-22 11:56
369 查看
需要在android端动态获取二维数组,数组大小由服务端数据动态确定
/** * 获取子项目方法 * * @return */ private String[][] getItemChild(String urlPath) { String[] arr1, arr2, arr3; String[][] arrTwo = null; // 从网页获取数据 ArrayList<String> list1, list2, list3; HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(urlPath); try { InputStream responseStream = client.execute(post).getEntity() .getContent(); // 记得转换成gbk编码 BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(responseStream, "UTF-8")); String webContentString = bufferedReader.readLine(); // json解析************************** JSONObject object = new JSONObject(webContentString); JSONArray array1 = object.getJSONArray("item1"); JSONArray array2 = object.getJSONArray("item2"); JSONArray array3 = object.getJSONArray("item3"); arrTwo = new String[3][]; // json转成list list1 = getListValue(array1); list2 = getListValue(array2); list3 = getListValue(array3); // 转成一维数组 arr1 = getArrayValue(list1); arr2 = getArrayValue(list2); arr3 = getArrayValue(list3); // 用arraylis存儲得到的非空list ArrayList<String[]> list = new ArrayList<String[]>(); if (arr1 != null && arr1.length != 0) { list.add(arr1); } if (arr2 != null && arr2.length != 0) { list.add(arr2); } if (arr3 != null && arr3.length != 0) { list.add(arr3); } // 動態生成二維數組 int count = 0; for (int i = 0; i < list.size(); i++) { arrTwo[count++] = list.get(i); // count++; } // 测试打印二维数组的每一行 // printOne(arrTwo[0]); // printOne(arrTwo[1]); // printOne(arrTwo[2]); // printTwo(arrTwo); } catch (Exception e) { System.out.println("解析子项目出错!"); } return arrTwo; }
/** * jsonarray格式转成list格式,若为空返回null * @param array2 * @return * @throws JSONException */ private ArrayList<String> getListValue(JSONArray array2) throws JSONException { ArrayList<String> list = new ArrayList<String>(); if (array2 == null) { return list; } return json2list(array2); }
// ArrayList转成一维数组 private String[] getArrayValue(ArrayList<String> list2) { String str[] = new String[0]; if (list2 != null) { str = list2.toArray(new String[list2.size()]); } return str; }
相关文章推荐
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- Android 从网络获取json格式的视频资讯
- android:通过url向网络端获取json格式数据并解析显示
- Android - 获取网络数据,Bitmap,ANR,主线程模型,消息机制,UserAgent,乱码问题,xml生成与解析,JSON解析,MVC,SmartImageView
- Android:网络:获取JSON格式数据
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- Android中处理Json的网络获取实例
- Android调用接口,获取并解析数据(json格式)
- 【Android开发】JSON格式传送网络信息
- Android 获取网络数据(使用fastjson-1.2.3.jar 包)
- 从网络获取JSON格式数据
- 使用AngularJS结合Highchart图表动态获取JSON格式数据
- 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据
- 我们常常会从网络获取数据,而数据通常又为JSON格式,JSON数据转为Model对象
- 动态创建表格,更新、提交、循环获取表格中各种元素的数据 并转换为JSON,数组的数据格式。
- Android开发18——获取网络资源之json数据
- Android:获取当前系统时间生成日期格式
- 从网络获取JSON格式数据