[英]How I can unwrap key and value objects in java Map using Jackson anotations?
我有這樣的豆子
public class PickupDate {
private LocalDate date;
}
我想將 Map<PickupDate, Integer> object 序列化為
{
"2020-07-17": 1
}
不
{
"PickupDate@1ecd0470[date=2019-12-01]": {
"capacity": 0
}
您應該覆蓋 PickupDate 的 toString() 方法。 容量來自您擁有的其他一些 object。 如果您提供實際代碼會更清楚。
主class:
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 中。 因此,如果您想更改日期格式或其他任何內容,您必須在那里進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.