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

     

     

  • 相关阅读:
    Fedora 12/Debian 以root登录图形界面
    贡献一个简单的日志类
    "没有 pthread_create 的手册页条目"解决办法
    OpenBSD 下架设vsftpd
    NetSnmp初步(一):让我们的程序提供snmp服务
    linux socket接收、发送小工具(支持tcp、udp包(组播)的发送接收)
    NetSnmp初步(二):发送Notification
    netbeans添加现有源文件时自动更新Makefile依赖关系
    Fedora Core12的防火墙会过滤掉部分IP数据包,在开发调试时建议关闭防火墙
    NetSnmp初步(三):接收控制命令:实现SNMP的SET命令
  • 原文地址:https://www.cnblogs.com/java-llp/p/10876372.html
Copyright © 2011-2022 走看看