【问题标题】:I want to map List of objects to a custom object我想将对象列表映射到自定义对象
【发布时间】:2021-11-07 06:51:01
【问题描述】:

这是我的自定义对象

public class CustomerDataDTO {

  private Long cust_file_id;

  private String customerName;  

   //getters and setters
  }

我的代码返回对象列表

     List<CustomerDataDTO> list = (List<CustomerDataDTO>)(List<? 
     >)internalRepo.getAllCustomerData();
       
  objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(list);

返回类似这样的对象列表。

     [ [ 379, "ABC" ], [ 380, "BCD" ], [ 381, "DSD" ] ]

我想要这样的东西

   [ 
   {cust_file_id:379, "customerName":"ABC" }, 
   {cust_file_id:380, "customerName":"BCD" },  
   {cust_file_id:381, "customerName":"DSD" }
   ]
 

【问题讨论】:

  • 听起来你在某处使用JsonFormat.Shape.ARRAY
  • ye 它是一个包含对象数组列表的数组
  • 向我们展示对象映射器的初始化
  • ObjectMapper objectMapper = new ObjectMapper();
  • 就像 shmosel 说的,你确定你的 DTO 上没有 @JsonFormat 吗?

标签: java list jackson hashmap


【解决方案1】:

这看起来有点像您想要获得的 json 格式,我相信有一些库可以为您做到这一点,但如果您只想手动执行此操作,您也可以

您似乎调用的函数(我不熟悉)似乎想要将对象绘制为字符串,因此在这种情况下您可以重写“toString”方法:

    @Override
    public String toString() {
        return "{cust_file_id:"+cust_file_id+", \"customerName\":\""+customerName+"\" }";
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2018-10-31
    相关资源
    最近更新 更多