Я хочу, чтобы импортировать данные с помощью JSON, но некоторые из данных имеют нулевое значение, как показано ниже:Обработки нулевых значений при обработке JSON данных
[
{
"atasan": "name ",
"kode_agen": "number",
"jenis": "Regional",
"no_aaji": "number* ",
"nama_agen": "name"
},
{
"atasan": "name ",
"kode_agen": "number"
},
{
"atasan": "name ",
"kode_agen": "number",
"jenis": "Agency",
"nama_agen": "name"
}
]
Мой вопрос: что такое правильный способ справиться с этим нулевыми данными? Это мой исходный код:
try {
JSONParser j = new JSONParser();
JSONArray jsonArray = j.takeJson(url);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject c = jsonArray.getJSONObject(i);
HashMap<String, String> map = new HashMap<String, String>();
map.put("atasan", c.get("atasan").toString());
map.put("kode_agen", c.get("kode_agen").toString());
map.put("jenis", c.get("jenis").toString());
map.put("no_aaji", c.get("no_aaji").toString());
map.put("nama_agen", c.get("nama_agen").toString());
AgenList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
Я надеюсь, что кто-то может помочь мне решить эту проблему, спасибо.
это работает ...! thank u very much –
Чтобы структура JSON была последовательной, я бы рекомендовал поставить JSONObject.Null, а не пропускать поля из объекта. – karmanaut
И только для того, чтобы объяснить, почему это должно работать, рассмотрите: 'map.put (« kode_agen », c.get (« kode_agen »). ToString());' Если 'c.get (" kode_agen ")' возвращает null, вы завершаете исключение NullPointerException. Всегда проверяйте перед использованием, следовательно 'has().' – Pedantic