浅谈FastJson的 new TypeReference 用法

浅谈FastJson的 new TypeReference 用法简单描述:看同事提交的代码,发现有一行代码似曾相识,但却朦朦胧胧,ε=(´ο`*)))唉很明显自己没掌握呗,于是乎,就百度了一下干货:对进行泛型的反序列化,使用TypeReference可以明确的指定反序列化的类型,代码: 1 2 //js代码将form表单里的各种元素里的值组装成js对象,然后转成json串,ajax传递给后台 var…

大家好,又见面了,我是你们的朋友全栈君。

简单描述:看同事提交的代码,发现有一行代码 似曾相识,但却朦朦胧胧,ε=(´ο`*)))唉很明显自己没掌握呗,于是乎,就百度了一下

干货:对进行泛型的反序列化,使用TypeReference可以明确的指定反序列化的类型,

代码:

1

2

//js代码 将form表单里的各种元素里的值组装成js对象,然后转成json串,ajax传递给后台

var planJson = JSON.stringify($("#addForm").serializeJson());

js调试结果:

浅谈FastJson的 new TypeReference 用法

复制代码

//后台java代码
 String planJson = request.getParameter("planJson");
 if (!Tools.isEmpty(planJson)) {
      Plan plan = JSON.parseObject(planJson, new TypeReference<Plan>() {
      });
      modelMap.addAttribute("plan", plan);
 }

复制代码

说明:JSON.parseObject(planJson, new TypeReference<Plan>(){})是把字符串planjson转化为相应的JSONObject对象,“键值对”形式,然后通过new TypeReference<Plan>(){ }匿名内部类来吧planjson的JSONObject转化为Plan对象,注意一点,前台在做 $(“#addForm”).serializeJson() 处理的时候,form表单里还有许多隐藏域,不属于plan对象本身的属性,通过TypeReference只把属于plan对象属性的参数和值组装成plan对象 (个人理解,欢迎指正)

后台debug调试,plan的值

浅谈FastJson的 new TypeReference 用法

 

转载自: https://www.cnblogs.com/xuchao0506/p/9816143.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149002.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月25日 下午9:16
下一篇 2022年6月25日 下午9:16


相关推荐

  • MUX VLAN详解与配置实例「建议收藏」

    MUX VLAN详解与配置实例「建议收藏」今天给大家介绍MUIXVLAN的相关理论知识,同时使用华为eNSP模拟器,完成了企业网中常见的MUXVLAN配置。一、MUXVLAN原理MUXVLAN是一种VLAN控制层面的访问控制技术,使用MUXVLAN,可以实现VLAN间的流量隔离,并且比较灵活的提供了多种实现方式。MUXVLAN存在主VLAN(SubordinateVLAN)、隔离性VLAN(SeparateVLAN)、**互通性VLAN(GroupVLAN)**三种类型的VLAN。其中隔离性VLAN和互通型VLAN又被称为从

    2026年1月22日
    15
  • 《Dreamweaver CS6 完全自学教程》笔记 第一章:网页制作基础知识

    《Dreamweaver CS6 完全自学教程》笔记 第一章:网页制作基础知识第一章:网页制作基础知识1.1Web概述Web也就是www,是WorldWideWeb的缩写,也叫做万维网,是目前最流行、最方便的Internet信息服务。1.1.1Web服务的工作原理WWW服务采用客户端/服务器工作模式,客户端和服务器之间采用超文本传输协议HTTP为通信协议。信息资源,包括文本、声音、图像和视频都以页面的形式组织、存储、显示。网页是一个文档,由HTML超文本标记语言来实现。页面间采用超文本链接的方式链接成一个整体。网页存放在WW

    2022年8月30日
    5
  • EJB通过ANT提高EJB应用程序的开发效率、无状态发展本地接口bean、开发状态bean「建议收藏」

    EJB通过ANT提高EJB应用程序的开发效率、无状态发展本地接口bean、开发状态bean

    2022年1月17日
    53
  • 暗影骑士擎bios详解_runloop原理和机制

    暗影骑士擎bios详解_runloop原理和机制Runloop什么是Runloop?从字面上讲就是运行循环。它内部就是do-while循环,在这个循环内部不断地处理各种任务。一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法)RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0、Sources1)、Timer,那么就直接退

    2025年7月5日
    4
  • Java 生成二维码_二维码生成规则

    Java 生成二维码_二维码生成规则利用Java生成二维码生成二维码的依赖下载:点击下载代码:packagecom.shuai.test02;importcom.swetake.util.Qrcode;importjavax.imageio.ImageIO;importjava.awt.*;importjava.awt.image.BufferedImage;importjava.io.File;importjava.nio.charset.StandardCharsets;publicclas

    2025年6月23日
    2
  • OpenStack实践(二):Linux Bridge方式实现Local Network[通俗易懂]

    OpenStack实践(二):Linux Bridge方式实现Local Network[通俗易懂]OpenStack实践(二):Linux Bridge方式实现Local Network

    2022年4月21日
    85

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号