我有像这样的豆子
public class PickupDate {
private LocalDate date;
}我想将Map对象序列化为
{
"2020-07-17": 1
}不是为了
{
"PickupDate@1ecd0470[date=2019-12-01]": {
"capacity": 0
}发布于 2020-07-17 05:33:41
您应该覆盖PickupDate的toString()方法。容量来自你拥有的其他对象。如果你提供了实际的代码,情况会更清楚。
主类:
public static void main(String[] args) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
Map<PickupDate, Integer> map = new HashMap<>();
map.put(new PickupDate(LocalDate.now()), 1);
System.out.println(mapper.writeValueAsString(map));
}代答:
class PickupDate {
private LocalDate date;
public PickupDate(LocalDate date) {
this.date = date;
}
//Here you put whatever you want to be in the JSON
@Override
public String toString() {
return date.toString();
}
}结果:{"2020-07-16":1}
无论从toString()方法返回什么,都是用JSON编写的。因此,如果您想要更改日期格式或其他任何内容,您必须在那里进行更改。
https://stackoverflow.com/questions/62943260
复制相似问题