ObjectMapper把Json转换为复杂的实体类

本文介绍了一种Java实体类GetRigSmsResult及其内部SmsContent类的设计,并展示了如何利用ObjectMapper将此类实体及其包含的list类型字段转换为JSON格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实体类

主实体类* GetRigSmsResult* 里面的* smsContentList 是一个list类型的的 SmsContentSmsContent *集合。

/**
 * 
 * 
 * @author 李关钦
 * @version 2017年3月14日
 */
public class GetRigSmsResult {

    private String dataCoding;

    private String messageParts;

    private int pushFlag;

    private String receivePhoneNumber;

    private String receiveTime;

    private String sendPhoneNumber;

    private String sendTime;

    private String shortMessageId;

    private int state;

    @JsonProperty(value = "smsContent")
    private String smsContent;

    // @JsonIgnore
    private List<SmsContent> smsContentList;

    //getter、setter方法省略
}
/**
 * 组内短信的消息内容
 * 
 * @author 李关钦
 * @version 2017年2月24日
 */
public class SmsContent {

    private String content;

    private String part;

    private String receiveTime;

    //getter、setter方法省略
}

使用ObjectMapper转换json为实体类

ObjectMapper mapper = new ObjectMapper();
String reqBody = mapper.writeValueAsString(param);
List<GetRigSmsResult> resultList =  mapper.readValue(respBody, new TypeReference<List<GetRigSmsResult>>() {  });

转换的时候使用new TypeReference<List<GetRigSmsResult>>() { }可以把含有list的嵌套对象也给成功转换。

### Java 中 JSON 字符串到实体类转换 在 Java 应用程序中,通常会使用第三方库来进行 JSON实体类之间的转换操作。最常用的库之一是 Jackson[^1]。 #### 使用 Jackson 进行 JSON实体类转换 Jackson 是一个高性能的 JSON 处理工具包,支持数据绑定功能,可以方便地实现 POJO (Plain Old Java Object) 类型与 JSON 数据互转。 ##### Maven 依赖配置 为了能够在项目里使用 Jackson 来处理 JSON 数据,在 `pom.xml` 文件内加入如下依赖: ```xml <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.0</version> </dependency> ``` ##### 创建实体类 定义好要映射的目标实体类结构,比如下面这个简单的 User 类作为例子: ```java public class User { private String name; private int age; // Getters and Setters omitted for brevity } ``` ##### 编写转换逻辑 通过 ObjectMapper 对象调用相应的方法完成从 JSON 文本至实体对象实例化的过程: ```java import com.fasterxml.jackson.databind.ObjectMapper; // ... ObjectMapper mapper = new ObjectMapper(); String jsonString = "{\"name\":\"John\",\"age\":30}"; try { User user = mapper.readValue(jsonString, User.class); } catch (Exception e) { e.printStackTrace(); } ``` 上述代码片段展示了如何利用 Jackson 将 JSON 格式的字符串解析成指定类型的 Java Bean 实例。这里需要注意的是异常捕获机制的应用,因为反序列化过程中可能会抛出 IOException 或 JsonProcessingException 等错误情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值