我有一堆Java对象正在用Jackson序列化。所有序列化类型如下所示:
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 中定义。 从这里:
对象是零个或多个名称/值
的无序集合 对,其中名称是字符串,值是字符串,数字,
布尔值、空值、对象或数组。
(强调我的)
因此,JSON 对象必须具有字符串作为键,并且值可以是少数对象类型之一。