2021年1月28日 星期四

JSONObject.putOpt 函式

JSONObject 提供 put() 讓你做寫入

但又提供 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


相關文章

如何使用 JSON

如何巡覽 JSONObject 物件內容

如何讀取 JSON 陣列

Jsonobject.put 函式

相關資源

JSONObject 官方文件

JSONObject.putOpt()

JSON 官方文件