com-alibaba-fastjson转换json时默认将属性第一个字母转小写

问题描述

将实体类对象转为json字符串的时候,会将属性名首字母改为小写

例如此出User队形有两个属性,USER_NAME和USER_AGE,首字母均为大写

image-20230509174435159

将实体类对象转为JSON后首字母全都转换为了小写

image-20230509174520330

解决方法

这是因为阿里巴巴的fastjson框架默认使用了JavaBean规范中的命名约定,将属性名首字母小写,以符合ava编码规
范。因此,当使用fastjson的SONObject.toJSONString方法将一个实体类对象转换为SON字符串时,实体类的属性名
会被自动转换成首字母小写的形式。如果需要在SON字符串中保留属性名的原始命名,可以使用fastjso提供的注解
@SONField来指定属性名

image-20230509174956741

这样转换的属性名称就正常了

image-20230509175032285

相关代码

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;


public class User {
    @JSONField(name = "USER_NAME")
    private  String USER_NAME;
    @JSONField(name = "USER_AGE")
    private Integer USER_AGE;

    public User() {
    }


    public String getUSER_NAME() {
        return USER_NAME;
    }

    public void setUSER_NAME(String USER_NAME) {
        this.USER_NAME = USER_NAME;
    }

    public Integer getUSER_AGE() {
        return USER_AGE;
    }

    public void setUSER_AGE(Integer USER_AGE) {
        this.USER_AGE = USER_AGE;
    }

    public static void main(String[] args) {
        User user = new User();
        user.setUSER_NAME("张三");
        user.setUSER_AGE(18);
        System.out.println(JSONObject.toJSONString(user));
    }
}
posted @   時光心向阳  阅读(790)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示