我在這裏找到了一些關於如何處理這個異常的答案,但是沒有解釋爲什麼會首先發生這種情況。我有以下代碼:爲什麼JSONObject的put方法拋出JSONException?
for (Map.Entry<String, Double> entry: qosMap.entrySet()) {
JSONObject qosEntry = new JSONObject();
try {
qosEntry.put(entry.getKey(), entry.getValue());
} catch (JSONException ex) {
Logger.getLogger(JSONUtil.class.getName()).log(Level.SEVERE, null, ex);
}
}
的qosMap將永遠是空的,在這個地圖中的數據始終有效。
什麼情況下會拋出異常?爲什麼我需要這個額外的代碼?
你不能把重複鍵放在JSON中 –
@ cricket_007他正在迭代地圖,所以不應該有任何重複鍵 –
你應該檢查鍵或值是否爲空,因爲一些地圖支持空值 –