| put 函式 |
|---|
| 將 一組 key-value 寫入 json 物件 (JSONObject) |
|
系列函式 JSONObject JSONObject.put(String keyname, Object value) JSONObject JSONObject.put(String keyname, int value) JSONObject JSONObject.put(String keyname, boolean value) JSONObject JSONObject.put(String keyname, long value) JSONObject JSONObject.put(String keyname, double value) |
|
官方連結 put(String, Object ) put(String, int ) put(String, boolean ) put(String, long ) put(String, double ) |
雖是 Overloading (多形)
各自不同的函式
但規則相同
| 傳入參數 | keyname,value |
| 執行動作 | 將 key-val 寫入 |
| 回傳值 | JSONObject物件本身 |
| 規則說明 | |
|---|---|
| 傳入參數狀況 | 執行結果 |
| keyname 不存在 | 新增一組 key-value |
| keyname 已存在 | 以傳入的 value 取代原有的 value |
| keyname 已存在 value = null | 對應的 key-value 被刪除 |
| keyname = null | 丟出 JSONException |
| 說明範例 | |
|---|---|
| 程式碼 | JSON 內容變化 |
| JSONObject jObj= new JSONObject(); | {} 建立了一個空的 JSONObject 物件 |
| jObj.put("K1","Tom"); | {"K1":"Tom"} 新增了字串 |
| jObj.put("K2",2); | "K1":"Tom","K2":2} 新增了數字 |
| jObj.put("K3",true); | {"K1":"Tom","K2":2,"K3":true} 新增了布林值 |
| jObj.put("K1","Jane")); keyname-"K1" 已存在 | {"K1":"Jane","K2":2,"K3":true} "K1" 的 value 被覆蓋掉 |
| jObj.put("K2",null); keyname-"K2" 已存在 value 給 null | {"K1":"Jane","K3":true} "K2" 被移除 |
| jObj.put(null,"xxx"); keyname 給 null | 丟出 JSONException : must be non-null |
使用 put 在 keyname 給 null 時, 會丟出 Exception
在某些 keyname 動態給予的狀況下會出問題
另有較安全的進階版本 JSONObject.putOpt
keyname 給 null 時不會丟出 JSONException
可以參考 putOpt 函式說明
相關文章
相關資源
JSONObject.put(String, Object )
JSONObject.put(String, boolean )