今天做接口对接,在更新价格时,最开始传的值为整数,发现报错,询问对方后得知需要统一保留两位小数,没有则为.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
原文地址:https://www.cnblogs.com/coder-wf/p/12130804.html
时间: 2024-11-06 13:53:13