我正在尝试解析jsonArray
,但无法理解这种格式,如何解析此类jsonArray
?
任何人都可以帮助我吗?
"rows": [
[
"/farmfresh",
"20171211",
"4"
],
[
"/farmfresh/product/d",
"20171215",
"4"
],
[
"/farmfresh/product/h",
"20171222",
"2"
]
]
答案 0 :(得分:2)
试试这个
try
{
JSONObject resObject = new JSONObject("your json response");
JSONArray jsonArray = resObject.getJSONArray("rows");
for (int i = 0; i < jsonArray.length(); i++) {
JSONArray jsonArray1 = jsonArray.getJSONArray(i);
for (int j = 0; j < jsonArray1.length(); j++) {
Log.i("Value","->" +jsonArray1.getString(j));
}
}
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
<强>输出强>
答案 1 :(得分:2)
首先,您的JSON数据无效。有效数据将是
{ "rows": [
[
"/farmfresh",
"20171211",
"4"
],
[
"/farmfresh/product/d",
"20171215",
"4"
],
[
"/farmfresh/product/h",
"20171222",
"2"
]
]
}
现在我们可以解析这个有效的json,如下所示。这是用于使用默认JSON解析的android。你在这里
void parseJsonString(String jsonString) {
try {
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray = jsonObject.getJSONArray("rows");
for (int i = 0; i < jsonArray.length(); i++) {
Log.d("jsonParse", "row position = " + String.valueOf(i));
JSONArray jsonRow = jsonArray.getJSONArray(i);
for (int j = 0; j < jsonRow.length(); j++) {
String value = jsonRow.get(j).toString();
Log.d("jsonParse", "value at " + String.valueOf(j) + " position is " + value);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
这段代码是为android完成的。这里JSON String作为parseJsonString
方法的参数传递。它将在logcat中打印值,如下所示
答案 2 :(得分:1)
这是结构。
Object
rows->Array
-Array
-Array
-Array
答案 3 :(得分:1)
据我所知,我们无法解析您共享的JSON。它始终必须以“{”或“[”开头。如果它是一个数组,它应该看起来像JSON
["rows": [
[
"/farmfresh",
"20171211",
"4"
],
[
"/farmfresh/product/d",
"20171215",
"4"
],
[
"/farmfresh/product/h",
"20171222",
"2"
]
]
]
答案 4 :(得分:0)
String data = "{"+"YOUR_DATA"+"}";
try {
JSONObject object = new JSONObject(data);
JSONArray itemArray = object.getJSONArray("rows");
for (int i = 0; i < itemArray.length(); i++) {
JSONArray innerItemArray= itemArray.getJSONArray(i);
for (int j = 0; j < innerItemArray.length(); j++) {
String value=innerItemArray.getString(j);
Log.e("json", "="+value);
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
希望有所帮助......