GitHub地址 :https://github.com/alibaba/fastjson
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
fastjson的API十分简洁。
String text = JSON.toJSONString(obj); //序列化
VO vo = JSON.parseObject("{...}", VO.class); //反序列化
支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>x.x.x</version>
</dependency>
fastjson 序列化 反序列化配置 SerializeConfig 和 ParserConfig 的作用:
加载序列化器和反序列化器,配置序列化反序列化的时候指定的命名策略。
目前支持配置的PropertyNamingStrategy四种策略
属性名策略说明:
CamelCase策略,Java对象属性:personId,序列化后属性:persionId
PascalCase策略,Java对象属性:personId,序列化后属性:PersonId
SnakeCase策略,Java对象属性:personId,序列化后属性:person_id
KebabCase策略,Java对象属性:personId,序列化后属性:person-id
举例:
// 创建对象并赋值
Person person = new Person();
person.personId = 21;
person.personName="小奋斗教程";
person.personEmail="[email protected]";
person.personPhone="156983444xx";
// 序列化配置对象
SerializeConfig config = new SerializeConfig();
config.propertyNamingStrategy = PropertyNamingStrategy.CamelCase;;
// 序列化对象
String json = JSON.toJSONString(person,config);