把一个对象的字段和值进行格式化输出(多层嵌套)

原文参考

用到ToStringBuilder.reflectionToString方法

1.数据格式


[{
    "action": "updateByUniqueId",
    "entitlements": [
    {
        "guid": "c9d3175e8bff4abeaad2fcf066533159",
        "entitlementType": "test_yongjun_001",
        "createdBy": "756bfc3d70c24936a9277aa25524015a",
        "createdOn": 1425398400000,
        "changedBy": "756bfc3d70c24936a9277aa25524015a",
        "changedOn": 1425398400000,
        "entitlementNo": 998,
        "entitlementDescription": "SAP Innovation managerment",
        "quantity": 50,
        "uom": "EA",
        "validFrom": 1493913600001,
        "validTo": 1586016000000,
        "status": "Active",
        "customerId": "C1011",
        "customerName": "IBM",
        "distributorId": "123",
        "distributorName": "ABC",
        "sourceSystem": "S4",
        "refDocType": "Contract",
        "refDocNo": "S1001268",
        "refItemNo": "1",
        "simulationEntitlementNo":123,
        "generationMethod": "auto",
        "version":1243,
        "reason":"update",
        "comments":"comments",
        "YJ001":"kb"
    }]
}
  ]
}
]
2.我把它通过spring mvc映射到dto上,重写toString()方法,我接收的Dto格式是:

public class EntitlementRepositoryApiDto implements Serializable
{
    private static final long serialVersionUID = -9131473596527559855L;
    private String action;
    private List<Map<String, Object>> entitlements; 

    public String getAction()
    {

        return action;
    }

    public void setAction(String action)
    {
        this.action = action;
    }

    public List<Map<String, Object>> getEntitlements()
    {

        return entitlements;
    }

    public void setEntitlements(List<Map<String, Object>> entitlements)
    {
        this.entitlements = entitlements;
    }

    @Override
    public String toString()
    {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
    }

*ps:该方法可以嵌套输出多层Dto对象,非常好用!*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值