zoukankan      html  css  js  c++  java
  • 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

     

     

  • 相关阅读:
    当下流行的分布式文件系统大阅兵
    smb相关资料
    Linux下将多个静态库(.a)合并成一个静态库文件(.a)的命令操作,方法一
    IBInspectable的使用
    iOS开发拓展篇——如何把项目托管到GitHub
    iOS开发拓展篇-XMPP简单介绍
    iOS开发拓展篇—应用之间的跳转和数据传递
    使用NSURLSession获取网络数据和下载文件
    李洪强实现横向滚动的View<二>
    李洪强实现横向滚动的View<一>
  • 原文地址:https://www.cnblogs.com/java-llp/p/10876372.html
Copyright © 2011-2022 走看看