这是我的json数据:
"LM": [
[
["Fund1", "4"],
["Fund3", "41"],
["Fund4", "41"],
["Fund5", "42"]
],
[
["Navs1", "12"],
["Navs2", "13"]
],
[
["Navs1", "14"],
["Navs2, "15"],
["Navs3", "16"]
]
]
这是我的android代码:
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中出现以下错误:
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)
如果有人能指出我正确的方向会很有帮助。提前致谢。
答案 0 :(得分:0)
我相信你想将json数组字符串转换为自定义对象的java数组
中的ObjectMapper
ObjectMapper mapper = new ObjectMapper();
yourCustomObject[] array = mapper.readValue(json, yourCustomObject[].class)