摘要:
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