JSON and JAVA (android)

174
09 февраля 2018, 20:38

в моем приложения (андроид) я получаю с сервера json. После при оброботке

    try {
        JSONObject object = new JSONObject(json);
        this.product_name = object.getString("name");
        this.product_price = object.getString("price");
        this.product_locaton = object.getString("location");
        this.product_id = object.getString("id");
        this.image_url = object.getString("image_url");
        isOkey = true;
    } catch (JSONException e) {
        isOkey = false;
    }

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

Answer 1

Можно взять параметр через метод object.optString("name", "defaultValue") таким образом даже если поля с таким ключем нет, exceptiona` не будет, вернется дефолтное значение

Answer 2

А еще лучше вызвать object.getString("name", defaultValue), где defaultValue может быть ваша строка, а может быть и null, в зависмости от того что вам нужно по бизнес логике.

Это позволит вам избежать кучи проверок, в случае ответа выше.

Answer 3

У объекта JSONObject есть метод .has("name") - видимо он вам и нужен.

READ ALSO
Physicaloid library Arduino + Android

Physicaloid library Arduino + Android

Никак не могу разобраться как создать цикл чтения Serial Monitor'a при помощи библиотеки Physicaloid libraryА выход из этого цикла должен совершаться только...

248
Telegram bot Java Heroku deploy

Telegram bot Java Heroku deploy

Доброго вечераВопрос следующий

484
Конвертация CURL в URL

Конвертация CURL в URL

Всем приветкак правильно перенести запрос из curl в HttpClient или URL, точнее мне нужно авторизироваться (получить токен)

172
Монетизация desktop application

Монетизация desktop application

А можно ли сделать интеграцию рекламы в приложение на базе JavaFX ? И вообще в приложение написанное на java для десктопа? Сколько не искал, все...

202