我用GSON解析了一个arraylist,这给了我
[["1","user","test"],["2","another","test",["3","last one","test"]]
我不能JSON解析它以便我可以像
一样循环它for(i < 0; i < obj.length; i++) {
console.log("some sentence" + obj[i][0] + " etc etc")
}
它让我给出该数组字符的总长度。
答案 0 :(得分:1)
JSON结构格式错误。我认为在第二个数组之后缺少“]”。经过修正后,它就像这样......
[
[
"1",
"user",
"test"
],
[
"2",
"another",
"test"
],
[
"3",
"last one",
"test"
]
]
编辑:
可能你的解析方法不正确。你的String是JSONArray,其中有另外3个JSONArrays。所以,解析应该是这样的
String str = "your json string above" ;
try {
JSONArray array = new JSONArray(str);
for(int i = 0 ; i < array.length() ; i++){
JSONArray nestedArray = array.getJSONArray(i);
for(int j = 0 ; j < nestedArray.length() ; j++){
System.out.println("" + nestedArray.getString(j) + "\n");
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 1 :(得分:0)
要解析您的JSON字符串(更正错误添加]
),您可以执行以下操作:
String json = "[[\"1\",\"user\",\"test\"],[\"2\",\"another\",\"test\"],[\"3\",\"f**er\",\"test\"]]";
Type listType = new TypeToken<ArrayList<ArrayList<Object>>>(){}.getType();
ArrayList<ArrayList<Object>> list = new Gson().fromJson(json, listType);
for(List innerList : list)
for(Object o : innerList){
System.out.println(o);
这将为您提供一个简单的数据结构,可以轻松满足您的需求。