我想導入使用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();
}
我希望有人能幫我解決這個問題,謝謝。
它的工作原理...!非常感謝你 –
爲了保持JSON結構的一致性,我建議放置JSONObject.Null而不是從對象中跳過字段。 – karmanaut
只是爲了解釋一下爲什麼這個方法可行,請考慮: 'map.put(「kode_agen」,c.get(「kode_agen」)。toString());' 如果'c.get(「 kode_agen「)'返回null,那麼您將得到一個NullPointerException異常。在使用之前總是檢查,因此'has()。' – Pedantic