浅谈FastJson的TypeReference用法

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

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

代码:

 //js代码 将form表单里的各种元素里的值组装成js对象,然后转成json串,ajax传递给后台
 var planJson = JSON.stringify($("#addForm").serializeJson());

js调试结果:

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

后台debug调试,plan的值

浅谈FastJson的TypeReference用法_第1张图片

 

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

你可能感兴趣的:(浅谈FastJson的TypeReference用法)