{
"data": [
{
"request": [
[
{
"name": "John""email": "John@gmail.com"
}
],
[
"name": "William""email": "William@gmail.com"
]
]
}
]
}
{
"data": [
{
"request": [
{
"name": "John",
"email": "John@gmail.com"
},
{
"name": "William",
"email": "William@gmail.com"
}
]
}
]
}
如何在JSON数组中提取JSON数组。我收到错误消息
json数组无法转换为JSON对象。
答案 0 :(得分:1)
以下代码将有助于解析您的Json:
try {
JSONObject jsonData = new JSONObject(jsonObject);
JSONArray dataJsonArray = jsonData.getJSONArray("data");
JSONArray jsonRequest = dataJsonArray.getJSONObject(0)
.getJSONArray("request");
JSONArray mRequestChildJson = jsonRequest.getJSONArray(0);
JSONObject innerJson = mRequestChildJson.getJSONObject(0);
LogHandler.e("TAG",
"mRequestChildJson" + innerJson.toString());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
请勿忘记添加具有密钥和数组大小的检查。
答案 1 :(得分:0)
可能是你在正确的轨道上但是把它放在对象中
JSONArray JArray = jObject.getJSONArray("data");
答案 2 :(得分:0)
try {
String str = result.toString();
System.out.println("prov-request -->"+str);
JSONObject json=new JSONObject(str);
JSONArray jsonarray = json.getJSONArray("data");
for(int i=0;i<jsonarray.length();i++){
JSONObject jsonnew=jsonarray.getJSONObject(i);
JSONArray jsonarrayROW = jsonnew.getJSONArray("request");
for(int j=0;j<jsonarrayROW.length();j++){
JSONObject jsonObject=jsonarrayROW.getJSONObject(j);
date.add(jsonObject.getString("name"));
from.add(jsonObject.getString("email"));
}
} catch (JSONException e) {
e.printStackTrace();
}