Преобразовать ключ карты, пары значений в JSON свойства объекта @responseBody - PullRequest
2 голосов
/ 21 апреля 2020

Мне интересно, можно ли этого достичь? У меня есть простой сервис Spring:

public @ResponseBody ResponseObject getResults(
            HttpServletRequest request, HttpServletResponse response, @RequestBody RequestInput requestInput )

Мой ResponseObject выглядит следующим образом:

public class ResponseObject {
    private String id;  
    private String value;
    private Map<String,String> keyValuePairs;
    .... and the regular getter/setters

Когда я добавляю некоторые значения в keyValuePairs. Я получаю JSON ответ, подобный этому:

 {
        "id": "56LTY",
        "value": "56 Large Thank You",
        "keyValuePairs": {
          "origin": "Vietnam",
          "ship" : "Air"
        }
}

Я хотел бы, чтобы мой JSON ответ был таким:

 {
        "id": "56LTY",
        "value": "56 Large Thank You",
        "origin": "Vietnam",
        "ship" : "Air"
}

Это выполнимо?

1 Ответ

0 голосов
/ 21 апреля 2020

Попробуйте использовать com.fasterxml.jackson.annotation.JsonAnyGetter аннотацию:

@JsonAnyGetter
public Map<String, String> getKeyValuePairs() {
    return keyValuePairs;
}
...