Я использую приведенный ниже код, чтобы принять значения цены. Я могу получить стоимость по цене. Однако, когда дело доходит до коры, оно исходит из исключения.Доступ к массиву внутри массива в ответе json
@Override
public void onTaskCompleted(JSONArray responseJson) {
try {
List<String> crust = new ArrayList<String>();
List<String> price = new ArrayList<String>();
for (int i = 0; i < responseJson.length(); ++i) {
JSONObject object = responseJson.getJSONObject(i);
if ((object.getString("MainCategoryID")).equals("1")
&& (object.getString("SubCategoryID")).equals("1")) {
Log.i("Price ", object.getString("Price"));
price.add(object.getString("Price"));
Log.i("Crust ", object.getString("Crust"));
crust.add(object.getString("Crust"));
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
это ответ JSON
{
"Category":"1PI",
"Price":0.0000,
"SubCategoryID":1,
"SubMenu":true,
"SubMenuEntity":[
{
"Crust":"Sausage",
корка позиционируется в массиве, внутри массива, как я может получить доступ к корке в моем выше кодировании.
любая помощь будет оценена по достоинству.
** «Корочка расположена в массиве, внутри массива» **: Нет, Корка находится в объекте JSON в массиве JSON, который находится в объекте JSON. Все, что вам нужно сделать, это получить значение 'SubMenuEntity' (массив JSON) и получить объекты (ы) JSON, которые он содержит, а затем получить значение пары/пары Crust. – Squonk
Получите jsonArray из вашего объекта и получите Crust из этого массива. Я бы рекомендовал вам использовать GSON для разбора ответов json, также лучше использовать библиотеку JSON в вашем проекте, например, как для повышения производительности, так и для управления. –