对象字段为全大写时,转json后会变成全小写问题

在做接口对接的时候,为了要跟主项目的字段保持一致,都必须使用主项目的javaBean,实体里出现在两个字段名,分别是ZYH,PID

 

    private String ZYH;                 //
    private String PID;                 //

 但以json格式传到其他项目的时候,变成了 zyh,pid

 

解决办法

import com.fasterxml.jackson.annotation.JsonProperty;

 

 

    @JsonProperty("ZYH")
    private String ZYH;                 //
    @JsonProperty("PID")
    private String PID;                 //

 

    @JsonProperty("ZYH")
    public String getZYH() {
        return ZYH;
    }

    @JsonProperty("ZYH")
    public void setZYH(String ZYH) {
        this.ZYH = ZYH;
    }

    @JsonProperty("PID")
    public String getPID() {
        return PID;
    }

    @JsonProperty("PID")
    public void setPID(String PID) {
        this.PID = PID;
    }

 要把getter,setter方法也要加上,不然json就会出现ZYH,zyh,PID,pid四个,两个大写,两个小写,值是一样的

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
你可以使用Jackson库来实现Java实体换为JSON,并持字段大写。首先,确保你经导入了Jackson库的相关依赖。 然后,你可以使用`ObjectMapper`类来进行实体换。以下是一个示例代码: ```java import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; // 定义一个示例实体类 class Entity { private String Field1; private int Field2; public String getField1() { return Field1; } public void setField1(String field1) { Field1 = field1; } public int getField2() { return Field2; } public void setField2(int field2) { Field2 = field2; } } public class Main { public static void main(String[] args) throws Exception { // 创建对象映射器 ObjectMapper mapper = new ObjectMapper(); // 设置字段可见性为 ANY,即所有字段都可见 mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY); // 创建实体对象 Entity entity = new Entity(); entity.setField1("Value1"); entity.setField2(2); // 将实体换为JSON字符串 String json = mapper.writeValueAsString(entity); // 输出JSON字符串 System.out.println(json); } } ``` 这段代码将输出以下JSON字符串: ```json {"Field1":"Value1","Field2":2} ``` 注意,`ObjectMapper`默认情况下是区分大小写的,如果你希望字段保持大写,需要设置字段可见性为`ANY`,这样所有字段都将被序列化为JSON字符串。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值