搜尋

首頁  >  問答  >  主體

java - 如何修改JSONObject 的值

{

"result": {
    "total": "3",
    "shops": [
        {
            "shopId": "8b615ce0",
            "shopName": "舒",
            "icon": 
        },
        {
            "shopId": "f6f83000a",
            "shopName": "二号",
            "icon": 
        },
    ]
},
"code": 0,
"message": "OK",
"text": "OK"

}
JSONObject 对象rt
想要修改“shops” 对应的值怎么修改??

PHP中文网PHP中文网2889 天前1014

全部回覆(4)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:14:51

    這是fastjson的例子

    JSONObject json = JSON.parseObject("{val: 123}");
    System.out.println("======before=====");
    System.out.println("size: " + json.size());
    System.out.println("val:  " + json.get("val"));
    json.put("val", 234); // 直接put相同的key
    System.out.println("======after======");
    System.out.println("size: " + json.size());
    System.out.println("val:  " + json.get("val"));

    結果

    ======before=====
    size: 1
    val:  123
    ======after======
    size: 1
    val:  234
    

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 09:14:51

    額用的什麼json庫,用對應的方法改就行了啊

    回覆
    0
  • 高洛峰

    高洛峰2017-04-18 09:14:51

    我假設你用的是com.googlecode.json-simple庫吧(你提供的資訊真的太少了,不知道該從哪裡說起)

    然後,我再假設你是要修改shops里第一项的shopName,程式碼這樣寫:

    JSONObject res = (JSONObject) obj.get("result");
    JSONArray arr = (JSONArray)res.get("shops");
    arr.set(0, "shopName: fuck");
    System.out.println(obj);//检查结果

    如果你想為shops加一項內容,可以:

    JSONObject res = (JSONObject) obj.get("result");
    JSONArray arr = (JSONArray)res.get("shops");
    
    JSONObject newShop = new JSONObject();
    
    newShop.put("shopId", "asdfdsaf");
    newShop.put("shopName", "毛驴");
    newShop.put("icon", "");
    
    arr.add(newShop);
    System.out.println(obj);//检查结果

    回覆
    0
  • 迷茫

    迷茫2017-04-18 09:14:51

    根據你使用的谷歌的json或阿里的fastjson,利用他們提供的方法來修改啊。

    回覆
    0
  • 取消回覆