浅谈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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android系统中toast是什么_Android个人资料简单布局

    android系统中toast是什么_Android个人资料简单布局老规矩,先上效果图吧主要实现了几种常用的方式:1.最基本的Toast系统自带Toast采用的是队列的方式,等当前Toast消失后,下一个Toast才能显示出来;原因是Toast的管理是在队列中,点击一次,就会产生一个新的Toast,要等这个队列中的Toast处理完,这个显示Toast的任务才算结束。 so~我们可以把Toast改成单例模式,没有Toast再新建它,这样也就…

    2025年11月9日
    5
  • java中级面试题1

    java中级面试题11、threadlocal问题https://blog.csdn.net/tiwerbao/article/details/50827305ThreadLocal源码可以看出:1)      ThreadLocal赋初始值的时候,需要在线程运行中,即run()中,不能作为thread的属性,否则ThreadLocalMap会挂错线程;2)      使用ThreadLocal隔离的值不能是引用,否…

    2022年10月11日
    3
  • MaskRCNN RPN网络分析

    MaskRCNN RPN网络分析在每个锚生成5种大小和3种形状的候选框(每层特征对应一种大小,每个锚点对应3种形状)。并进行两层卷积后,做前景与背景的分类,与候选框的偏移量回归。与目标重叠&gt;=0.7则为前景,与目标重叠&lt;=0.3则为背景,其余框去掉。#############################################################RegionPropos…

    2022年6月23日
    25
  • STM32单片机介绍_单片机智能控制DIY

    STM32单片机介绍_单片机智能控制DIYSTM32库函数开发系列文章目录第一篇:STM32F103ZET6单片机双串口互发程序设计与实现第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案第三篇:最简单DIY基于STM32F407探索者开发板的MPU6050陀螺仪姿态控制舵机程序第四篇:最简单DIY基于STM32F407探索者开发板和PCA9685舵机控制模块的红外遥控机械臂控制程序第五篇:注释最详细、代码最简单的STM32+摄像头+显示屏的颜色跟踪电路软硬件方案第六篇:最简单DIY基于STM32单片机的WIFI智能小车设计

    2022年10月17日
    5
  • 安装并使用EVE模拟器

    安装并使用EVE模拟器本文提供的软件及相关镜像有:VMWareEVECommunityVMversion2.0.3-95Wireshark-win64-2.6.4CiscoIOL镜像(路由器、交换机)CRTWindowsXP镜像安装步骤如下:1.进行VMWare的安装a.在安装包文件夹内选择“VMware-workstation-full-15.0.0-10134415”的应用程…

    2022年6月12日
    48
  • pycharm中最常用的10个快捷键总结_全家福卡一张就够了吗

    pycharm中最常用的10个快捷键总结_全家福卡一张就够了吗

    2022年8月27日
    6

发表回复

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

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