tqt-java

JSON字段与实体类属性名称不一致时解决方法

1.使用FastJson的@JsonField("name" = "***")注解解决

①导入依赖

    <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>

②字段添加注解

多个字段映射到同一属性

 

 

 

 ③JSON格式化

EventListVO eventListVO = JSON.parseObject(JSONUtil.toJsonStr(data), EventListVO.class);

2.使用google  gson的@SerializedName("***")注解解决

①导出依赖

  <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.6</version>
  </dependency>

②使用注解

复制代码
public class Employee
{
    private Integer id;
    private String firstName;
    private String lastName;
 
    @SerializedName(value = "emailId", alternate = "emailAddress") //alternate后的字段,也可以映射到这个属性上
   private String email; 
}
复制代码

 

③格式化

复制代码
public class GsonDemo{

  public Employee format(){

System.out.println(emp);String json = "{'id': 1001,"
+ "'firstName': 'Lokesh',"
+ "'lastName': 'Gupta',"
+ "'email': 'howtodoinjava@gmail.com',"
+ "'emailAddress': 'admin@gmail.com'}";

Gson gson = new GsonBuilder().setPrettyPrinting().create();

Employee emp = gson.fromJson(json, Employee.class);

System.out.println(emp);

}

}
复制代码

 

3.使用jackson包里的@JsonProperty("***")注解解决

①导入依赖

 
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>版本号</version>
</dependency>

②使用注解

public class Student{
        @JsonProperty(value = "name")
        private String realName;

    }

③进行序列化反序列化

public class Main {
    public static void main(String[] args) throws JsonProcessingException {
        Student student = new Student();
        student.setRealName("张三");
        System.out.println(new ObjectMapper().writeValueAsString(student));
    }
}

 

posted on   TQT*  阅读(2913)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

统计

点击右上角即可分享
微信分享提示