JSONObject遍历并替换部分json值

今天做接口对接,在更新价格时,最开始传的值为整数,发现报错,询问对方后得知需要统一保留两位小数,没有则为.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

JSONObject遍历并替换部分json值的相关文章

字符串转成JSONArray和JSONObject遍历

String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ;  // 一个未转化的字符串 JSONArray json = JSONArray.fromObject(str ); // 首先把字符串转成 JSONArray  对象 if(json.size()>0){   for(int i=0;i<json.size();

Servlet获取ajax传递的json值

Servlet获取ajax传递的json值 其实标题可直接写为“记一件愚蠢的事”.另外声明这是只是一篇水文. 原本都用SpringMVC和ajax进行前后台的交互,今天打算试试用原始的Servlet与其进行交互. 起初是打算实现一个跳转(虽然感觉没什么意义): Action如下: package per.zww.ajax.action; import java.io.IOException; import javax.servlet.ServletException; import javax.

jquery操作Ajax返回的JSON值

$.post( 'XXX.php', { col: value }, function(data) { var getData = eval( "(" + data + ")" ); //必须用括号,真蛋疼 alert( getData.xx ); } ); jquery操作Ajax返回的JSON值,布布扣,bubuko.com

.net和MVC中的json值和List&lt;T&gt;和DataTable的一些转换

1.List<T>集合转换为Json值 List<ReportModel> dtList = new List<ReportModel>(); JsonResult json = new JsonResult(); json = Json(dtList);//直接采用Json()方法就可以了,不过必须要加载MVC 2.DataTable直接转换为Json值,不过必须加载Newtonsoft.dll这个程序集,大家应该在网上找的到. .net和MVC中的json值和Lis

JSON 值转换

1 var Txt = '{"a":"1","b":"5","c":"5","d":"6"}'; 2 var arr1 = JSON.parse(Txt); 3 console.log(arr1) 4 // Object {a: "1", b: "5", c: "5", d: "

PHP中遍历stdclass object 及 json

原文:PHP中遍历stdclass object 及 json (从网上找的模拟实例)需要操作的数据: $test=Array ( [0] => stdClass Object ( [tags] => 最快的车,Bloodhound,SSC [id] => 48326888 ) ) 从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用foreach  遍历即可 $array = get_object_vars($test); $json= '[{"

Jquery ajax json 值回传不了

今天调试系统的时候,MVC 框架下调用ajax 值,回传的json值获取不到,后来发现竟然是服务没开,郁闷不已,留个截图,做个纪念. 下面是调用的js方法:调试返回的值是1,不过ajax中直接跳到error方法.发现是上面的“ASP.NET 状态服务” 没开.郁闷. function Login() { if (CheckLogin()) { $.ajax({ url: "@Url.Action("Login", "Login")", type:

JSONObject遍历获取键值方法合并两个JSONObject

JSONObject obj1= new JSONObject(); try { obj1.put("obj1_data", obj1_data); if (null != obj2) {//obj2已有json数据 Iterator<String> sIterator = obj2.keys(); while (sIterator.hasNext()) { // 获得key String key = sIterator.next(); // 根据key获得value, v

jsonobject 遍历 org.json.JSONObject

[html] view plain copy import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; [java] view plain copy public static void main(String[] args) { String str = "{'TI':[{'value':'aa1','count':10},{'value':'aa2','count':15},{'