繁体   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