下面是我的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)
如果有人能给我指出正确的方向,那将是很有帮助的。提前谢谢。
发布于 2016-03-14 02:29:46
我相信您希望将json数组字符串转换为自定义对象的java数组。
使用jackson library中的ObjectMapper
ObjectMapper mapper = new ObjectMapper();
yourCustomObject[] array = mapper.readValue(json, yourCustomObject[].class)
https://stackoverflow.com/questions/35973938
复制相似问题