android端获取网络json格式动态生成二维数组
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
需要在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;
}
GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:2 个月前 )
960b763e
5 个月前
8c391e04
8 个月前
更多推荐
已为社区贡献4条内容
所有评论(0)