ajax提交集合或者数组使用fastjson注意事项总结(fastjson解决循环引用和重复引用)

 

 1 List<Object> list = new ArrayList<>();
 2         Map<String,Object> m1=new HashMap<>();
 3         m1.put("a", 1);
 4         Map<String,Object> m2=new HashMap<>();
 5         m1.put("a", 1);
 6         m2.put("b", 2);
 7         list.add(m1);
 8         list.add(m1);
 9         System.out.println(JSON.toJSONString(list));
10         //重复对象引用
11         List<Object> jsonString = (List<Object>) JSON.parse("[{"a":1},{"$ref":"$[0]"}]");
12         System.out.println(JSON.toJSONString(jsonString, SerializerFeature.DisableCircularReferenceDetect));
13          JSONObject jsonObject=new JSONObject();
14         List<Map> r1 = jsonObject.parseObject(JSON.toJSONString(jsonString, SerializerFeature.DisableCircularReferenceDetect),new TypeReference<List<Map>>() {});
15          System.out.println(JSON.toJSONString(jsonString, SerializerFeature.DisableCircularReferenceDetect));

排序

 改变属性名

fastjson处理日期的API很简单,例如:

JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS");
1
使用ISO-8601日期格式

JSON.toJSONString(obj, SerializerFeature.UseISO8601DateFormat);
1
全局修改日期格式

JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);
————————————————
版权声明:本文为CSDN博主「挖坑埋你」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liupeifeng3514/article/details/79166566

-------------------------------------------------------华丽分割线------------------------------------------------------------- 

SpringMVC环境中,@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。
然而在ajax请求往往传的都是Json对象,用 JSON.stringify(data)的方式就能将对象变成字符串。
同时ajax请求的时候也要指定dataType: "json",contentType:"application/json" 这样就可以轻易的将一个对象或者List传到Java端!

---------------------------------------------------------华丽分割线----------------------------------------------------- 

------------------------------------------------------------华丽分割线--------------------------------------------------------- 

-------------------------------------------------------------------------------------------------------------

没转码前提交直接报错

转码后提交直接

转码后提交可以进去controller

 

 

原文地址:https://www.cnblogs.com/java-llp/p/10876372.html