как получить значение json в Android

#java #android #json

#java #Android #json

Вопрос:

Я прочитал много примеров и попробовал. Но получить значение не получилось.

Результат вернул мне целый JSON.

Я не знаю, где что-то не так…

Я впервые задаю вопрос. Спасибо за помощь.

Вот мой код JSON и JAVA.

JSON:`

 {
    "food":{
        "name":"XXX Food",
        "details":{
            "code":"01",
            "location":{
                "area":"Area D",
                "place":"Food"
            },
            "price":"132.21",
            "discount":"15%"
        }
    }
}
 

Теперь я хочу узнать цену.

Код JAVA:

 JSONObject json = new JSONObject(recvStr);
            JSONArray Results = json.getJSONArray("food");
            JSONArray msg = Results.getJSONArray(0);

            result = msg.getJSONObject(0).getString("price");
 

Комментарии:

1. просто мысль: если вы выполняете вызов rest, чтобы получить этот JSON, попробуйте SPring RestTemplate, а затем используйте Jackson как конвертер сообщений, чтобы связать ваш JSON с java model. это упростит вашу сортировку / отмену сортировки

Ответ №1:

Results это не a JSONArray , а JSONObject :

 JSONObject results = json.getJSONObject("food");
String name = results.getString("name");
JSONObject details = results.getJSONObject("details");
String price = details.getString("price");
 

Вы можете прочитать больше о JSON на json.org .