FastJson 支持配置的PropertyNamingStrategy四种策略
摘要:
FastJson默认使用CamelCase,在1.2.15版本之后,FastJson支持配置PropertyNamingStrategy,支持四种策略: CamelCase、PascalCase、SnakeCase和KebabCase。
属性名策略说明:
CamelCase策略,Java对象属性:personId,序列化后属性:persionId
PascalCase策略,Java对象属性:personId,序列化后属性:PersonId
SnakeCase策略,Java对象属性:personId,序列化后属性:person_id
KebabCase策略,Java对象属性:personId,序列化后属性:person-id
属性名策略,案例代码:
package com.what21.fastjson.fj07; /**
* 模型对象
*/
public class Person { //ID
public int personId; //名称
public String personName; // 邮箱
public String personEmail; // 手机号
public String personPhone; }
package com.what21.fastjson.fj07; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.PropertyNamingStrategy;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializeConfig; public class FastJsonMain { /**
* @param args
*/
public static void main(String[] args) {
// 创建对象并赋值
Person person = new Person();
person.personId = 21;
person.personName="小奋斗教程";
person.personEmail="1732482792@qq.com";
person.personPhone="156983444xx"; // 序列化配置对象
SerializeConfig config = new SerializeConfig();
config.propertyNamingStrategy = PropertyNamingStrategy.CamelCase;; // 序列化对象
String json = JSON.toJSONString(person,config);
System.out.println("反序列 person json -> ");
System.out.println(json); // 反序列化配置对象
ParserConfig parserConfig = new ParserConfig();
parserConfig.propertyNamingStrategy = PropertyNamingStrategy.CamelCase; // 反序列化对象
person = JSON.parseObject(json, Person.class, parserConfig);
System.out.println("反序列化 内容 -> ");
System.out.print(person.personId + " ");
System.out.print(person.personName + " ");
System.out.print(person.personEmail + " ");
System.out.println(person.personPhone);
} }
输出内容:
反序列 person json ->
{"personEmail":"1732482792@qq.com","personId":21,"personName":"小奋斗教程","personPhone":"156983444xx"}
反序列化 内容 ->
21 小奋斗教程 1732482792@qq.com 156983444xx
FastJson 支持配置的PropertyNamingStrategy四种策略的更多相关文章
- Entity FrameWork初始化数据库的四种策略
		
程序猿就是苦逼,每天还得分出一些时间去写博文.天真的很热,今天就随便写一点啦! 1.EF初始化数据库的四中策略 EF可以根据项目中的模型自动创建数据库.下面我们就分类看看Entity Framewor ...
 - Tomcat 6 支持 NIO -- Tomcat的四种基于HTTP协议的Connector性能比较(转载)
		
Tomcat从5.5版本开始,支持以下四种Connector的配置分别为: <Connector port="8081" protocol="org.apache. ...
 - linux下配置ip地址四种方法(图文方法)
		
主要是用第四种方法 (1)Ifconfig命令 第一种使用ifconfig命令配置网卡的ip地址.此命令通常用来零时的测试用,计算机启动后 ip地址的配置将自动失效.具体用法如下.Ipconfig ...
 - 在红帽RHEL7.0里配置网卡的四种方法
		
第一种方法 :采用vim编辑器来配置: 1. 如下图的步骤所示: 2. 输入这个命令后进行配置成下方图片里的内容: 3. 然后退出vim 编辑器,然后重新启动一下网络服务配置: 4.这些配置完后 ...
 - kafka数据分区的四种策略
		
kafka的数据的分区 探究的是kafka的数据生产出来之后究竟落到了哪一个分区里面去了 第一种分区策略:给定了分区号,直接将数据发送到指定的分区里面去 第二种分区策略:没有给定分区号,给定数据的ke ...
 - Linux下配置ip地址四种方法
		
linux系统安装完,以后通过命令模式配置网卡IP.配置文件通常是/etc/sysconfig/network-scripts/ifcfg-interface-nameifconfig后显示的内容,l ...
 - Entity Framework 数据库初始化四种策略
		
策略一:数据库不存在时重新创建数据库 Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testC ...
 - Entity Framework数据库初始化四种策略
		
策略一:数据库不存在时重新创建数据库 程序代码 Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists< ...
 - linux下配置ip地址四种方法(图文)
		
(1)Ifconfig命令 第一种使用ifconfig命令配置网卡的ip地址.此命令通常用来零时的测试用,计算机启动后 ip地址的配置将自动失效.具体用法如下.Ipconfig ethx i ...
 
随机推荐
- 通过URL传递中文参数的乱码处理
			
环境:web.xml中配置了 <filter> <filter-name>encodingFilter</filter-name> <filter-class ...
 - WAV文件有多大?MP3文件有多大?使用Lame 压缩比是多少?
			
一.说明: 录音文件大小多少?用什么存比较合?我有500G的硬盘存录音能存多久?...... 这些东西常用常忘,索性一次性就分析清楚记下来,方便以后查阅,如果能帮到大家那就更好了. 二.计算方法: ...
 - Vue -- 数据监听
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - [PHP]PDO各方法在发生MYSQL断开时的反应
			
1.mixed PDO::errorCode ( void ) 如果单独执行此语句,并不能判断此时MYSQL是否已断开,它返回最上一次对MYSQL操作的错误码 2.public array PDO:: ...
 - 玩转EhCache之最简单的缓存框架
			
二.主要特性 快速: 简单: 多种缓存策略: 缓存数据有两级:内存和磁盘,因此无需担心容量问题: 缓存数据会在虚拟机重启的过程中写入磁盘: 可以通过 RMI.可插入 API 等方式进行分布式缓存: 具 ...
 - 洛谷P3246 [HNOI2016]序列 [莫队]
			
传送门 思路 看到可离线.无修改.区间询问,相信一定可以想到莫队. 然而,莫队怎么转移是个大问题. 考虑\([l,r]\rightarrow[l,r+1]\)时答案会怎样变化?(左端点变化时同理) \ ...
 - Vue项目构建开发笔记(vue-lic3.0构建的)
			
1.router.js里面 { path: '/about', name: 'about', // route level code-splitting // this generates a sep ...
 - 打包APP
			
记得之前网上也有app打包平台,但是都会有所限制,或者增加广告等等,这里呢,介绍一款工具,可以自己将网站打包成app. wex5 (WeX5开源免费跨端开发工具-html5 app开发就用WeX5)官 ...
 - Android 应用防止被二次打包指南
			
前言 “Android APP二次打包”则是盗版正规Android APP,破解后植入恶意代码重新打包.不管从性能.用户体验.外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不 ...
 - SVG前戏—让你的View多姿多彩
			
什么是SVG SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形.是一种基于可扩展标记语言(XML).它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质 ...