JSONObject遍历并替换部分json值 - Coder-Wf

时间:2024-02-21 09:05:36

JSONObject遍历并替换部分json值

给大家推荐一个很好的自学网站,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