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


属性名策略,案例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package  com.what21.fastjson.fj07;
 
/**
  * 模型对象
  */
public  class  Person {
 
     //ID
     public  int  personId;
     
     //名称
     public  String personName;
     
     // 邮箱
     public  String personEmail;
     
     // 手机号
     public  String personPhone;
     
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
fastjson是一个Java语言编写的高性能JSON处理器,常用于在Java应用程序中进行JSON数据的序列化和反序列化。fastjson可以通过配置来实现对JSON数据的定制化处理。在使用fastjson进行配置时,可以通过注解来控制和指定JSON字段的名称,并可以使用@Data注解生成getter和setter方法。例如,在上述代码中,@JSONField(name = "user_name")注解指定了userName字段在JSON中的名称为"user_name",@JSONField(name = "age")注解指定了age字段在JSON中的名称为"age"。通过这些配置fastjson可以根据配置对JSON数据进行灵活的处理和转换。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [springboot 使用spring cache缓存 和 使用fastjson配置redis系列化](https://download.csdn.net/download/qq_39339588/86514360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【springboot进阶】springboot集成fastjson(一)配置消息解析器](https://blog.csdn.net/lrb0677/article/details/125287043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值