fastjson支持配置的PropertyNamingStrategy四种策略

PropertyNamingStrategy策略

FastJson默认使用CamelCase,在1.2.15版本之后,FastJson支持配置PropertyNamingStrategy,支持四种策略:CamelCasePascalCaseSnakeCaseKebabCase

属性名策略说明:

策略 对象属性 序列化后属性
CamelCase userId userId
PascalCase userId UserId
SnakeCase userId user_id
KebabCase userId user-id

代码实例

/**
 * 模型对象
 */
public class User {

    //ID
    public int userId;

    //名称
    public String userName;

    //邮箱
    public String userEmail;

    //手机号
    public String userPhone;
}
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.PropertyNamingStrategy;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializeConfig;

public class FastJsonTest {

    public static void main(String[] args) {
        // 创建对象并赋值
        User user = new User();
        user.userId = 22;
        user.userName = "Joe.Ye";
        user.userEmail = "test@appblog.cn";
        user.userPhone = "10086";

        // 序列化配置对象
        SerializeConfig serializeConfig = new SerializeConfig(); 
        serializeConfig.propertyNamingStrategy = PropertyNamingStrategy.CamelCase;;

        // 序列化对象
        String json = JSON.toJSONString(user, serializeConfig);
        System.out.println("序列化 user json -> ");
        System.out.println(json);

        // 反序列化配置对象
        ParserConfig parserConfig = new ParserConfig(); 
        parserConfig.propertyNamingStrategy = PropertyNamingStrategy.CamelCase;

        // 反序列化对象
        user = JSON.parseObject(json, user.class, parserConfig);
        System.out.println("反序列化 user object -> ");
        System.out.print(user.userId + " ");
        System.out.print(user.userName + " ");
        System.out.print(user.userEmail + " ");
        System.out.println(user.userPhone);
    }
}

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/18/fastjson-propertynaming-strategy/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
fastjson支持配置的PropertyNamingStrategy四种策略
PropertyNamingStrategy策略 FastJson默认使用CamelCase,在1.2.15版本之后,FastJson支持配置PropertyNamingStrategy,支持四种策略:CamelCase、PascalCase……
<<上一篇
下一篇>>
文章目录
关闭
目 录