Подтвердить что ты не робот

GetJSON против optJSON

Я просмотрел документацию для JSONObject, когда заметил два метода: getJSONObject(String key) и optJSONObject(String key). Из документации я решил, что они сделали почти то же самое с одним отличием: если ключ или значение не найдено, то getJSONObject() выдает JSONException, тогда как optJSONObject() просто возвращает null.

  • Существуют ли другие различия между getJSONObject() и optJSONObject()?
  • В чем преимущества get над opt и наоборот?
  • Существуют ли конкретные ситуации, когда я хотел бы использовать один над другим или где использование одного настоятельно запрещено/запрещено?
4b9b3361

Ответ 1

Значение в JSON может быть необязательным, поэтому лучше использовать optJSONObject, потому что вам просто нужно проверить, является ли оно нулевым или нет, и продолжить свою работу.

Ответ 2

optString возвращает пустую строку (""), если указанный вами ключ не существует. getString генерирует исключение JSONException.

Ответ 3

Я использую optJSONObject для моего json файла с ключевыми "предложениями" и возвращает значение null, но правильный результат может быть JSONArray или String.

{
"sentences":[
  {
     "trans":"làm",
     "orig":"do",
     "translit":"",
     "src_translit":""
  }
]
}