Как восстановить значения из JsonObject Java - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть список JSonObject, я хочу восстановить только значения переменных tow в json.

В java 8 я не нахожу функцию getJSONObject, может быть, она не распознана .. Прежде всегоЯ добавил свой JSON в список JSONObject.Но когда я хочу получить его, редактор Intellij предлагает только функцию get.

Пример: records.get(0).get("id") Я получил результат ниже, но когда я хочу восстановить переменную внутри, как: records.get(0).get("id").get("875488")... Я получилошибка.

My code:


JSONArray JSONArray = (JSONArray) obj;
List<JSONObject> records = new ArrayList<JSONObject>(); 

    for (int i=0; i<JSONArray.size(); i++) {

        records.add( (JSONObject) JSONArray.get(i) );

    }

Я попытался восстановить первое значение буксировки "lat" и "lon", но не смог прибыть.Кто-нибудь может помочь мне, пожалуйста?

Я хочу, чтобы как результат:

lat = 12.13

lon =  5.02

Спасибо.

1 Ответ

0 голосов
/ 21 февраля 2019

Прежде всего, правильная зависимость Maven / Gradle для JAVA-json:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20180813</version>
</dependency>

Если метод JSONObject#getJSONObject не может быть найден, вы делаете что-то не так.


Для части кода, которая должна это сделать.Приспособьтесь к вашим потребностям.

final JSONArray jsonArray = new JSONArray(source);
final int length = jsonArray.length();

for (int i = 0; i < length; i++) {
    final JSONObject jsonObject = jsonArray.getJSONObject(i);
    final JSONObject forecastOrig =
            jsonObject.getJSONObject("875488")
                      .getJSONObject("forecast_orig");

    final double lon = forecastOrig.getDouble("lon");
    final double lat = forecastOrig.getDouble("lat");

    System.out.println(lon);
    System.out.println(lat);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...