0

以下に、POJO 構造と、現在の出力と予想される出力を示します。私の要件は、JSON形式を印刷するときに、「applicationUsage」という変数が出力JSONにキーとして自動的に含まれていることですが、「applicationUsage」キーをjson形式に追加したくなく、これに保存されている値のみを表示したいです分野。誰でもコードを手伝ってもらえますか。

    @JsonRootName(value = "MediationUserCacheRequest")
    @JsonTypeInfo(include = As.WRAPPER_OBJECT, use = Id.NAME)
    @JsonTypeName(value = "MediationUserCacheRequest")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonPropertyOrder({ "eventName", "eventType", "action" })
    public class MedationUsageReport implements Serializable {
        private final static long serialVersionUID = -2077028266055844229L;
        @JsonProperty("eventName")
        private String eventName;
        @JsonProperty("eventType")
        private String eventType;
        @JsonProperty("action")
        private String action;
        private Map<String, List<MediationApplicationUsageResport>> applicationUsage = null;

        @JsonProperty("eventName")
        public String getEventName() {
            return eventName;
        }

        @JsonProperty("eventName")
        public void setEventName(String eventName) {
            this.eventName = eventName;
        }

        @JsonProperty("eventType")
        public String getEventType() {
            return eventType;
        }

        @JsonProperty("eventType")
        public void setEventType(String eventType) {
            this.eventType = eventType;
        }

        @JsonProperty("action")
        public String getAction() {
            return action;
        }

        @JsonProperty("action")
        public void setAction(String action) {
            this.action = action;
        }

        public Map<String, List<MediationApplicationUsageResport>> getApplicationUsage() {
            return applicationUsage;
        }

        public void setApplicationUsage(Map<String, List<MediationApplicationUsageResport>> applicationUsage) {
            this.applicationUsage = applicationUsage;
        }
    }

出力:

{"MediationUserCacheRequest":{"eventName":"STORAGE","eventType":"CURRENT_USAGE","action":"usagereport","applicationUsage":{"nuxeo":[ ...

募集:

{"MediationUserCacheRequest":{"eventName":"STORAGE","eventType":"CURRENT_USAGE","action":"usagereport",{"nuxeo":[ ...
4

2 に答える 2

1

@JsonAnyGetter アノテーションでマークするだけです。

@JsonAnyGetter
public Map<String, List<MediationApplicationUsageResport>> getApplicationUsage() {
            return applicationUsage;
}
于 2016-12-24T19:36:04.220 に答える
0

@JsonUnwrappedgetApplicationUsage()でゲッターにアノテーションを付けてみてください

于 2016-12-23T20:38:00.037 に答える