如何在Java中解析3D JSON数组 [英] How to parse a 3d JSON array in java
本文介绍了如何在Java中解析3D JSON数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的json数据:
Here is my json data:
"LM": [
[
["Fund1", "4"],
["Fund3", "41"],
["Fund4", "41"],
["Fund5", "42"]
],
[
["Navs1", "12"],
["Navs2", "13"]
],
[
["Navs1", "14"],
["Navs2, "15"],
["Navs3", "16"]
]
]
这是我的android代码:
Here is my android code:
JSONArray LM3DArray = reader.getJSONArray("LM");
LM = new String[LM3DArray.length()][LM3DArray.length()][LM3DArray.length()];
for(int i_lm=0;i_lm<LM3DArray.length();i_lm++) {
for(int j_lm = 0; j_lm < LM3DArray.getJSONArray(i_lm).length(); j_lm ++) {
for(int k_lm = 0; k_lm < LM3DArray.getJSONArray(j_lm).length(); k_lm ++) {
LM[i_lm][j_lm][k_lm] = (String) LM3DArray.getJSONArray(i_lm).getJSONArray(j_lm).get(k_lm);
Log.d("Print ", " LM " + LM[i_lm][j_lm][k_lm]);
}
}
}
我的logcat中出现以下错误:
I get the following error in my logcat:
03-13 23:18:27.186 1651-1651/user.com.testapp D/Print: LM Fund1
03-13 23:18:27.218 1651-1651/user.com.testapp D/Print: LM 4
03-13 23:18:27.219 1651-1651/user.com.testapp W/System.err: org.json.JSONException: Index 2 out of range [0..2)
如果有人可以指出我正确的方向,那将很有帮助.提前致谢.
It would be helpful if someone could pinpoint me to the right direction. Thanks in advance.
推荐答案
我相信您要将json数组字符串转换为自定义对象的java数组
I believe you want to convert json array string to java array of custom objects
使用 jackson库
ObjectMapper mapper = new ObjectMapper();
yourCustomObject[] array = mapper.readValue(json, yourCustomObject[].class)
这篇关于如何在Java中解析3D JSON数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文