0
我需要顯示以下種類的休息服務JSON響應的輸出顯示的地圖名稱:序列化映射到JSON,而無需使用傑克遜
{
"Server up": false,
"database running": true,
"dependency 1 up": true
}
爲此,我已經定義了Java對象HealthCheckResponse。有一個地圖字段的java。
public class HealthCheckResponse {
@JsonProperty
private Map<String, Boolean> statusMap;
public Map<String, Boolean> getStatusMap() {
return statusMap;
}
public void setStatusMap(Map<String, Boolean> statusMap) {
statusMap = statusMap;
}}
但是,當我打印最終響應,然後在它的名稱的地圖字段也出現。
{
"statusMap":
{
"Server up": false,
"database running": true,
"dependency 1 up": true
}
}
請建議我需要在HealthCheckResponse.java使輸出顯示擺脫掉了「statusMap」和額外的大括號的變化。 這是我使用的對象映射:
public class CustomObjectMapper extends ObjectMapper {
public CustomObjectMapper() {
super();
configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
setVisibilityChecker(getSerializationConfig().getDefaultVisibilityChecker().withFieldVisibility(JsonAutoDetect.Visibility.NONE)
.withGetterVisibility(JsonAutoDetect.Visibility.NONE).withSetterVisibility(JsonAutoDetect.Visibility.NONE)
.withCreatorVisibility(JsonAutoDetect.Visibility.NONE).withIsGetterVisibility(JsonAutoDetect.Visibility.NONE));
setSerializationInclusion(Include.NON_NULL);
registerModule(new StringModule());
registerModule(new GuavaModule());
}
}
我在HealthCheckResponse中看不到任何可能的更改,因爲您希望在響應中使用鍵值對,而使用地圖以外的任何pojo結構都不可能。 –