好吧,从技术上讲,你可以做到。虽然结果不是有效的 JSON,但杰克逊仍然可以:
class Dto {
@JsonProperty("name")
String foo = "nameValue";
@JsonProperty("click")
JsEntry entry = new JsEntry("function (e){console.log(\"message\");}");
}
class JsEntry implements JsonSerializableWithType {
private String value;
JsEntry(String value) {
this.value = value;
}
@Override
public void serializeWithType(JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws IOException {
this.serialize(jgen, provider);
}
@Override
public void serialize(JsonGenerator jgen, SerializerProvider provider) throws IOException {
jgen.writeRawValue(value);
}
}
但是,我完全同意此要求会导致违反标准,应予以修订。