You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Java将JSON转为POJO并赋值,如何给List类型的Transaction字段赋值

解决方案

步骤1:补充Transaction类构造方法(可选,简化赋值操作)

保留序列化框架需要的无参构造,新增带参构造方便快速赋值:

public class Transaction{
    @JsonProperty("Date")
    public String date;
    @JsonProperty("Amount")
    public String amount;

    // 无参构造必须保留,Jackson等JSON序列化框架反序列化时需要调用
    public Transaction() {}

    // 带参构造,可直接传入字段值完成初始化
    public Transaction(String date, String amount) {
        this.date = date;
        this.amount = amount;
    }
}

步骤2:给List集合赋值并组装Summary对象

创建ArrayList实例存储多条交易记录,再绑定到Summary的transaction属性即可:

import java.util.ArrayList;
import java.util.List;

public class BuildObjectDemo {
    public static void main(String[] args) {
        // 初始化已完成赋值的AccountSummary对象
        AccountSummary accountSummary = new AccountSummary();

        // 初始化Transaction集合,存入JSON对应的两条交易记录
        List<Transaction> transactionList = new ArrayList<>();
        transactionList.add(new Transaction("2021-08-21", "20,000"));
        transactionList.add(new Transaction("2021-08-23", "5,000"));

        // 组装完整的Summary对象
        Summary summary = new Summary();
        summary.accountSummary = accountSummary;
        summary.transaction = transactionList;
    }
}

若不想新增带参构造,也可以用无参构造创建对象后逐个给字段赋值,效果完全一致:

// 第一条交易记录赋值
Transaction transaction1 = new Transaction();
transaction1.date = "2021-08-21";
transaction1.amount = "20,000";
transactionList.add(transaction1);

// 第二条交易记录赋值
Transaction transaction2 = new Transaction();
transaction2.date = "2021-08-23";
transaction2.amount = "5,000";
transactionList.add(transaction2);

内容的提问来源于stack exchange,提问作者Deepika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:15:01