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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM