fastjson使用-- @JSONField使用(转)】的更多相关文章

最近做项目中,使用了json格式在服务器之间进行数据传输.但是发现json格式数据不符合JAVA中的变量定义规则,并且难以理解,因此需要在后台中做二次处理,将数据处理成我们系统中定义的格式. 思路: 1. 定义需要返回的bean,bean中定义需要返回的数据 2. 获取到需要处理的JSON字符串 3. 将JSON字符串转换为bean, 再将转换后的bean返回给客户端. 由于json中的key与bean中的属性不能匹配,因此在转换过程中出现了部分属性为null的情况.经过查看官方文档,发现可以使…
1.实体类 package jsonArrayjsonObject.cn; import java.io.Serializable; import java.util.Date; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.SerializerFeature; public class User implements Serializable{ private s…
@JSONField作用:在字段和方法上1.Field:@JSONField作用在Field时,name可以定义输入key的名字,反序列化的时 值不会赋值到属性上2.作用在setter和getter方法上 /** * bean 转json 时会把bean中的name转换为project_name * */ @JSONField(name="project_name") public String getName() { return name; } /** * son 转bean 时会…
@JSONField 看源码它可以作用于字段和方法上. 引用网上说的, 一.作用Field @JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称. 但是我在使用中,发现并不如上所说. 例如 @JSONField(name="project_id") private Long ProjectID 发现bean 转json的时候并是"project_id":xxx的形式,json转bean的时候也不会把"proj…
@JSONField可以配置到字段和方法上,那不同的配置有什么不同呢?下面我们就来看看具体配置到不同的方法上. 我们在创建实体类的时候,都要求属性必须创建get和set方法,否则fastjson将不会进行识别,下面我们看看把@JSONField配置到具体的get和set方法上 /** * @Title: getDate * @Description: 配置序列化的时候,日期序列化为startDate * @return Date */ @JSONField(name = "startDate&q…
在Springboot中默认的JSON解析框架是jackson 今天引入alibaba的fastjson,使用@JSONField(serialize=false),让@RestController转换数据给前端的时候不序列化莫些字段,发现@JSONField根本不起作用 在网上查阅了一番,发现Springboot使用fastjson需要替换默认的json转换器的 具体解决方法有两种: 本文借鉴地址:https://blog.csdn.net/qq_28929589/article/detail…
一.demo代码 @JSONField注解属性字段上与set.get方法上.使用@Data注解(lombok插件安装最下方),对属性“笔名”[pseudonym]手动重写setter/getter方法 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; @Data…
此文来源于:https://blog.51cto.com/xiaok007/2164029 1.作用在FIELD(成员变量上) 注意:1.若属性是私有的,必须有set*方法.否则无法反序列化. package com.zhujie; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; public class User { @JSONField(name="new_us…
在开发的过程中使用json格式的地方非常多,现在前后端分离的项目中,前后端数据交换的格式一般为json,这种格式的优/缺点这里不再赘述,感兴趣的可以百度.把java中的实体类序列化为json的方式也有很多方式,今天来看看常用到的fastjson. 都知道fastjson是阿里开源的一个序列化/反序列化的jar包,在日常的开发过程中经常会碰到,也是使用频率较高的一款工具. 这里要了解一个概念,那就是序列化/反序列化,序列化是把一个java对象转化为其他的形式,如json.XML.对象字节:反序列化…
在项目中有些状态需要采用枚举类型,在数据库中保存的是name(英文),而前台需要显示的是text(中文). 所以这就需要自己去实现序列. 例如对象: import java.util.Date; import java.util.List; import com.alibaba.fastjson.annotation.JSONField; public class Project { /** * * 审核状态 */ @JSONField(name = "auditStatus") pr…