请帮我解析一下这个JSON。我试图获得JSONObject'首先,然后.getJSONArray
(MainArray)和MainArray
我试图获得secondaryArray
,但无济于事。
{
"MainArray": [
{
"id":"someID",
"secondaryArray": [
{
"id":"someID"
},
{
"id":"someID"
}
]
}
]
}
我需要访问secondaryArray
个对象,但我是android的新手,我在这个层次结构中感到困惑。
答案 0 :(得分:3)
JsonArray jsSecondArray = firstJsObj.getJsonArray("MainArray").getJsonObject(0).getJsonArray("secondaryArray");
答案 1 :(得分:1)
JSONObject jsonObject = new JSONObject(<JSON>);
JSINArray secondaryArray;
JSONArray mainArray = jsonObject.getJSONArray("MainArray");
for (int i = 0; i < mainArray.length(); i++) {
JSONObject obj = intertopSheuleItemsArray.getJSONObject(i);
secondaryArray= obj.getJSONArray("secondaryArray");
if (secondaryArray!= null)
break;
}
然后使用secondaryArray's
个对象。
答案 2 :(得分:0)
你也可以这样做。
public static final String TAG_MAINARRAY="MainArray";
public static final String TAG_SECONDARYARRAY="secondaryArray";
public static final String TAG_ID="id";
public static final String TAG_MAINARRAY_OBJ_ID="id";
try {
JSONObject json =new JSONObject(<response_String>)
JSONArray MainArray = json.getJSONArray(TAG_MAINARRAY);
for(int MainArray_i = 0; MainArray_i < MainArray.length(); MainArray_i++){
JSONObject MainArray_obj=MainArray.getJSONObject(MainArray_i);
JSONArray secondaryArray = MainArray_obj.getJSONArray(TAG_SECONDARYARRAY);
for(int secondaryArray_i = 0; secondaryArray_i < secondaryArray.length(); secondaryArray_i++){
JSONObject secondaryArray_obj=secondaryArray.getJSONObject(secondaryArray_i);
String str_id = secondaryArray_obj.getString(TAG_ID);
}
String str_MainArray_obj_id = MainArray_obj.getString(TAG_MAINARRAY_OBJ_ID);
}
} catch (JSONException e){
}
答案 3 :(得分:0)
试试这个:
JSONObject jsonObj = new JSONObject(yourJson);
JSONArray mainArray = jsonObj.getJSONArray("MainArray");
for (int i = 0; i < mainArray.lenght(); i++){
JSONObject obj = mainArray[i].getJSONObject();
String id = obj.getString("id");
JSONArray secondaryArray = obj.getJSONArray("secondaryArray");
for (int j = 0; j < secondaryArray.lenght(); j++){
JSONObject innerObj = secondaryArray[j].getJSONObject();
String innerId = innerObj.getString("id");
}
}