use*_*121 5 java json dictionary jackson json-deserialization
我有一个包含地图属性的 json 字符串,例如
{"map":{"1":"value"}, ...}
Run Code Online (Sandbox Code Playgroud)
当 Jackson 将其反序列化为包含 an 属性的类时Map<Long, String> map
,它似乎执行了 a map.put(null,"1=value")
. 在序列化时,它会将对象序列化为相同的格式。
有没有办法让杰克逊正确地反序列化为只有注释的 Map 或者我需要制作一个自定义序列化程序。
带有 getter/setter 的示例对象:
@JsonTypeInfo(use = JsonTypeInfo.Id.MINIMAL_CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
public class exampleObject {
Map<Long, String> valueMap;
public Map<Long, String> getValueMap() {
return valueMap;
}
public void setValueMap(Map<Long, String> valueMap) {
this.valueMap = valueMap;
}
}
Run Code Online (Sandbox Code Playgroud)
尝试这个:
public class ExampleObject {
private Map<String, Long> valueMap;
@JsonCreator
public AccountTagVariableDescription(Map<String, Long> valueMap) {
this.valueMap = valueMap;
}
@JsonAnyGetter
public Map<String, Long> getValueMap() {
return valueMap;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1413 次 |
最近记录: |