首页 > 其他分享 >com-alibaba-fastjson转换json时默认将属性第一个字母转小写

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

时间:2023-05-12 22:22:06浏览次数:58  
标签:fastjson NAME AGE alibaba json USER public 属性

问题描述

将实体类对象转为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));
    }
}

标签:fastjson,NAME,AGE,alibaba,json,USER,public,属性
From: https://www.cnblogs.com/an-shiguang/p/17396415.html

相关文章

  • Json序列化对象后,使用Lombok后属性xAxis大写变成小写xaxis解决方法
    一、问题描述最近在开发后端接口时,发现返回结构中,一个字段大小写转化有问题。lombok版本:1.18.14VO对象如下,字段为echarts趋势图组件。预期返回xAxis,实际返回xaxis@DatapublicclassULineBarVO{/***X轴信息*/privateULineBarDataVOxAxis;/*......
  • fastjson中$ref的坑
    相信不少人都遇到过,用fastjson进行序列化时会遇到属性出现$ref的情况,本质是fastjson在处理对象引用时默认不展开,需要自己指定序列化参数。写个DEMO演示一下:1JSONObjectjson=newJSONObject();2JSONObjectprop=newJSONObject();3prop.put("name","test");4pro......
  • JsonObject相关操作
    一:String转JsonObject:JSONObjectjSONObject=JSONObject.parseObject(string);二:获取JsonObject中的value值:System.out.println("111111111"+jSONObject.getJSONObject("Result").getJSONObject("Result").get("FLinkMan"));三:Js......
  • bat中传递JSON参数时,由于JSON包含一些特殊字符如引号、反斜杠等,需要对JSON字符串进行
    在bat中传递JSON参数时,由于JSON包含一些特殊字符如引号、反斜杠等,这些字符可能会导致命令行解释器解析出错。为了避免这些问题,通常建议对JSON字符串进行一些转义处理。具体转义规则如下:对每个双引号(")进行转义,变成"。对每个反斜杠(\)进行转义,变成\。当你传递一个JSON字符串......
  • 如何将bash变量传递给JSON
    我正在尝试编写示例脚本,在其中生成诸如"student-101...student-160"之类的名称。我需要发布JSON数据,当我这样做时,出现JSON解析错误。这是我的脚本:123456789name="student-10"for i in {1..1}do   r_name=$name$i   echo $r_name  curl -i -H 'Au......
  • json在前端的使用
    调用接口后一般传递的都是json格式的数据,这个json格式的数据吗可能会有多层嵌套,如何获取这个最内层的嵌套value值便是关键。而数据解析放在前端便更加的简单,可以像数组一样使用但是需要解决以下问题:1.数据在后端的时候已经是json格式的object,如何异步发送这个json数据到前端(最新......
  • inputstream转json
    inputstream是一个Java中的输入流,它允许从源读取数据。如果要将inputstream转换为JSON,需要使用相应的解析器,例如GSON或Jackson。以下是使用GSON的示例代码:InputStreaminputStream=...;Gsongson=newGson();JsonReaderreader=newJsonReader(newInputStreamReader(in......
  • cJson学习(二)
    已剪辑自:https://blog.csdn.net/ZRXSLYG/article/details/122541036?spm=1001.2101.3001.6650.17&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-122541036-blog-123806149.235^v35^pc_relevant_default_base&depth_1-utm_......
  • 基于kibana点点点点获取到 要懂得聚合查询json
    1.点击Visualize2.创建Table的visualization3.选择查询的索引4.勾选查询条件appName为delta-mainsysName为jdl-deltaappDeployPlatform为JDOS3_CN5.选择先按照resourceType进行第一层groupBy条件按照resourceType进行groupBy条件会出来如图所示,按照resourceType进......
  • Android 开发 利用 jq 在 Makefile 里给 output-metadata.json 增加字段
    Makefile:.PHONY:uploadupload:metadata #./push-apk.sh.PHONY:metadatametadata:app/build/outputs/apk/release/output-metadata.jsonapp/build/outputs/apk/release/output-metadata.json:buildupdate-content.txt #在Makefile中插入shell脚本要用双美元......