Ответ 1
Значение в JSON может быть необязательным, поэтому лучше использовать optJSONObject, потому что вам просто нужно проверить, является ли оно нулевым или нет, и продолжить свою работу.
Я просмотрел документацию для JSONObject
, когда заметил два метода: getJSONObject(String key)
и optJSONObject(String key)
. Из документации я решил, что они сделали почти то же самое с одним отличием: если ключ или значение не найдено, то getJSONObject()
выдает JSONException
, тогда как optJSONObject()
просто возвращает null
.
getJSONObject()
и optJSONObject()
?get
над opt
и наоборот?Значение в JSON может быть необязательным, поэтому лучше использовать optJSONObject, потому что вам просто нужно проверить, является ли оно нулевым или нет, и продолжить свою работу.
optString возвращает пустую строку (""), если указанный вами ключ не существует. getString генерирует исключение JSONException.
Я использую optJSONObject для моего json файла с ключевыми "предложениями" и возвращает значение null, но правильный результат может быть JSONArray или String.
{
"sentences":[
{
"trans":"làm",
"orig":"do",
"translit":"",
"src_translit":""
}
]
}