我正在使用Jackson库编写自定义序列化。
在序列化期间,我面临错误:
<tr>
所以这是我的序列化(我调用Can't bind to 'target' since it isn't a known property of 'tr'.
时调试崩溃时我甚至无法进入此方法):
<tr data-toggle="collapse" [attr.data-target]="'#'+ i" class="clickable">
然后我为此创建一个模块,将其添加到ObjectMapper: 在maven构建过程中难以避免问题。
com.fasterxml.jackson.databind.JsonMappingException: java.lang.String cannot be cast to java.util.Map
我还为我的地图添加了额外的注释:
objectMapper.writeValueAsString(loginInfoJSON);
有人可以建议为什么会这样吗?
修改
public class ItemSerializer extends JsonSerializer<Map<String, Object>> {
@Override
public void serialize(Map<String,Object> map, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
Annotation[] mapAnnotations = map.getClass().getAnnotations();
for(int i = 0; i < mapAnnotations.length; i++){
if(mapAnnotations[i].getClass().isInstance(MapPropertiesAnnotation.class)){
jsonGenerator.writeStartObject();
for(Map.Entry<String, Object> mapEntry : map.entrySet()){
jsonGenerator.writeObjectField(mapEntry.getKey(), mapEntry.getValue());
}
jsonGenerator.writeEndObject();
}
}
}
}