簡體   English   中英

每個JSON可序列化Java對象都可以表示為Map <String, Object> ?

[英]Can every JSON serializable Java object be represented as a Map<String, Object>?

我有一堆與Jackson一起序列化的Java對象。 所有序列化類型看起來都像這樣:

class MySampleClass {
    @JsonProperty("propName1")
    private MyCustomType propName1;

    @JsonProperty("propName2")
    private MyOtherCustomType propName2;

    @JsonCreator
    public MySampleClass(@JsonProperty("propName1") MyCustomType propName1, @JsonProperty("propName2") MyOtherCustomType propName2) {
        this.propName1 = propName1;
        this.propName2 = propName2;
    }
}

是否有任何情況下將此類的實例轉換為Map<String, Object>然后將映射轉換為JSON將不會被解除歸還原始Java對象?

除非你收到這些對象的數組,否則它會這樣做。 如果是這種情況,那么您可以使用MySampleClass[]

JSON在RFC 7159中定義。從這里:

對象是零個或多個名稱/值的無序集合
對, 其中名稱是字符串 ,值是字符串,數字,
boolean,null,object或array。

(強調我的)

因此,JSON對象必須具有字符串作為鍵,並且值可以是少數Object類型之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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