我有一个这样的类。
class MyClass {
String config;
// ... other fields, getters, setters ...
}
config
字符串将作为JSON来自请求体中的REST端点,如下所示。。
"config": {
"field1": "value1",
"field2": 2,
"field3": true
}
// other fields of MyClass
我需要反序列化MyClass
,使上面的JSON字符串被放在引号中,如下所示。
"config": "{
"field1": "value1",
"field2": 2,
"field3": true
}"
我不能修改这个类,因为它正被其他项目使用。因此,我不能在类上使用@JsonDeserialize
或任何注释。
我尝试将以下属性设置为ObjectMapper
mapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, false)
.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
还有其他方法吗,也许可以使用ObjectMapper
以这种方式对其进行反序列化。我也在使用SpringBoot,所以我欢迎使用SpringBootJackson的方式来做这件事。
您可以使用JsonNode,Jackson JsonNode类,com.fasterxml.Jackson.databind.JsonNode是Jackson的JSON树模型(对象图模型(,如下使用:
String content = jsonNode.get("data").textValue();