給大家推薦一個很好的自學網站,https://how2j.cn?p=77721,how2j,從基礎到項目,一應俱全。可以先注冊再學習,這樣就可以記錄學習進度咯!!!
今天做接口對接,在更新價格時,最開始傳的值為整數,發現報錯,詢問對方后得知需要統一保留兩位小數,沒有則為.00,於是對原有JSONObject進行改造,遍歷並替換其中的值。下面貼出代碼:
1 JSONObject jsonObject = JSONObject.parseObject(jsonstring); 2 JSONArray jsonArray = jsonObject.getJSONArray("skuList"); 3 for (Object object : jsonArray) { 4 JSONObject midObject = (JSONObject) object; 5 BigDecimal price = midObject.getBigDecimal("price"); 6 midObject.put("price", new BigDecimal(String.format("%.2f", price.doubleValue()))); 7 }
JSON操作講解
- put可以強制更新json里面的值
1 JSONObject json = JSON.parseObject("{val: 123}"); 2 System.out.println("======before====="); 3 System.out.println("size: " + json.size()); 4 System.out.println("val: " + json.get("val")); 5 //直接put相同的key 6 json.put("val", 234); 7 System.out.println("======after======"); 8 System.out.println("size: " + json.size()); 9 System.out.println("val: " + json.get("val")); 10 結果 11 12 ======before===== 13 size: 1 14 val: 123 15 ======after====== 16 size: 1 17 val: 234