Пожалуйста, помогите мне .. Я работаю над проектом, и я получаю данные из веб-сервисов в формате JSON. Я пытаюсь разобрать его, но я не могу этого сделать. У меня есть эта JSON-DATA-Как разобрать JSON Array внутри другого JSON Array в Android
{
"response": {
"status": {
"code": "1",
"message": "sucess",
"user_id": "1"
},
"foods": [
{
"char": "A",
"content": [
{
"food_name": "add Malt"
},
{
"food_name": "a la mode"
},
{
"food_name": "Almonds"
}
]
},
{
"char": "Z",
"content": [
{
"food_name": "Zebra Cakes"
},
{
"food_name": "Zucchini, Baby"
},
{
"food_name": "zxc"
}
]
}
]
}
}
Отсюда я нахожусь в состоянии успешно получить «еду» массив, но я получаю застрял, когда я пытаюсь получить данные «содержание» массив и food_name.
Я использую этот код, но я не получил никакого решения, проверьте этот снип-код.
protected String doInBackground(String... args) {
// Building Parameters
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("method","eat_tracking_details"));
nameValuePairs.add(new BasicNameValuePair("uid",userid));
// getting JSON string from URL
JSONObject json = jsonParser.makeHttpRequest(JSONParser.urlname,"GET", nameValuePairs);
//System.out.println("****json*"+json);
if (json != null) {
try {
JSONObject response = json.getJSONObject("response");
JSONObject status = response.getJSONObject("status");
code = status.getString("code");
JSONArray FoodArray = response.getJSONArray("foods");
for (int i = 0; i < FoodArray.length(); i++) {
String character = FoodArray.getJSONObject(i).getString("char");
System.out.println("*****character****************"+character);
JSONArray FoodNameArray = new JSONArray(FoodArray.getJSONObject(i).getString("content"));
System.out.println("====================///////////"+FoodNameArray);
for (int j = 0; j <FoodNameArray.length(); j++) {
String Foodname = FoodArray.getJSONObject(j).getString("food_name");
System.out.println("@@@@@@@@@@@@@"+Foodname);
}
}
} catch (JSONException e) {
// TODO: handle exception
}
}
Проверить этот URL для веб-службы response- WEB-SERVICE URL
Вы не должны создавать новый экземпляр JSONArray, просто получить его, как вы делали для массива еды с getJSONArray(). – fasteque
массив не в правильном формате и посмотреть http://www.androidhive.info/2012/01/android-json-parsing-tutorial/ – Rohit
использование gson, экономит время –