但又提供 putOpt()
基本上同 put(),但較安全
| putOpt 函式 |
|---|
| 將 一組 key-value 寫入 json 物件 (JSONObject) |
| JSONObject JSONObject.putOpt(String key, Object value) |
|
官方連結 putOpt() JSONObject |
規則幾乎跟 put() 相同
| 傳入參數 | keyname,value |
| 執行動作 | 將 key-val 寫入 |
| 回傳值 | JSONObject物件本身 |
| 規則說明 | |
|---|---|
| 傳入參數狀況 | 執行結果 |
| keyname 不存在 | 新增一組 key-value |
| keyname 已存在 | 以傳入的 value 取代原有的 value |
| keyname 已存在 value = null | 對應的 key-value 被刪除 |
| keyname = null | 沒有任何動作 使用 put 會丟出 Exception |
| 說明範例 | |
|---|---|
| 程式碼 | JSON 內容變化 |
| JSONObject jObj= new JSONObject(); | {} 建立了一個空的 JSONObject 物件 |
| jObj.putOpt("K1","Tom"); | {"K1":"Tom"} 新增了字串 |
| jObj.putOpt("K2",2); | "K1":"Tom","K2":2} 新增了數字 |
| jObj.putOpt("K3",true); | {"K1":"Tom","K2":2,"K3":true} 新增了布林值 |
| jObj.putOpt("K1","Jane")); keyname-"K1" 已存在 | {"K1":"Jane","K2":2,"K3":true} "K1" 的 value 被覆蓋掉 |
| jObj.putOpt("K2",null); keyname-"K2" 已存在 value 給 null | {"K1":"Jane","K3":true} "K2" 被移除 |
| jObj.putOpt(null,"xxx"); keyname 給 null | 沒有任何動作 使用 put() 會丟出 JSONException : must be non-null |