簡體   English   中英

如何使用 Jackson 注釋解開 java Map 中的鍵和值對象?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM