Разница между getString() и optString() в Json - программирование
Подтвердить что ты не робот

Разница между getString() и optString() в Json

В чем разница между getString() и optString() в JSON?

4b9b3361

Ответ 1

Как упоминает Диего, неплохо проверить документацию (эта ссылка устарела - хорошо, что у нас есть Wayback Machine!) перед публикацией вопроса здесь, но теперь, когда у вас есть:

Разница в том, что optString возвращает пустую строку (""), если указанный вами ключ не существует. getString, с другой стороны, бросает a JSONException. Используйте getString, если это ошибка для данных, которые будут отсутствовать, или optString, если вы не уверены, что она будет там.

Изменить: Полное описание из документации:

Получить необязательную строку, связанную с ключом. Он возвращает пустую строку, если такой ключ отсутствует. Если значение не является строкой и не является нулевым, то оно преобразуется в строку.

Ответ 2

Если вы хотите избежать NullPointerException, лучше использовать optString()

Если вы извлекаете данные из JSON в любой момент, у вас могут быть данные null для определенного значения ключа, тогда вместо выполнения условий Null лучше использовать этот оптимизированный метод optString("<keyname>")

Ответ 3

public java.lang.String optString (int index) Получите необязательное строковое значение, связанное с индексом. Он возвращает пустую строку, если в этом индексе нет значения. Если значение не является строкой и не является нулевым, то оно прикрывается строкой. Параметры: index - индекс должен быть между 0 и длиной() - 1. Возвращает: Значение строки.

Ответ 4

1) getString (String name): - Этот метод возвращает значение String, отображаемое по имени, если оно существует, с принудительной привязкой, если это необходимо, или генерирует исключение JSONException, если такого отображения не существует.

2)optString (String name): - Этот метод возвращает значение String, отображаемое по имени, если оно существует, с принудительной привязкой при необходимости или пустой строкой (""), если такого нет отображение существует.

Ответ 5

  optString() используется для преодоления NullPointerException, которое мы получаем при использовании getString(), когда требуемый ключ не существует в json, он в основном заменяется значением по умолчанию.

Например, пусть вход Json будет

{
"name":"abhi",
"country":"india"
}

теперь в Java, когда вы выполняете

String city = json.getString("city");

это бросит NullPointerException.

с помощью optString(String key, String default) мы можем преодолеть вышеуказанную проблему.

String city= json.optString("city","default");

System.out.println(city);

Вывод: по умолчанию