1
代替字段名,我想知道是否有更換使用@JsonTypeInfo使用@JsonTypeInfo
這裏的字段名的方式就是我要實現
class Tnode<T>{
@JsonTypeInfo(use=Id.NAME, include=As.WRAPPER_OBJECT, property="type")
T obj;
public T getObj() {
return obj;
}
public void setObj(T obj) {
this.obj = obj;
}
}
我得到的輸出
什麼{
"obj": {
"Foo": {
"name": "xyz"
}
}
}
整點是我不想額外的圖層「obj」作爲字段名稱。我希望「Foo」能夠達到一個以上的水平。在代碼中,我將泛型類型設置爲具體類型。我希望具體的類名顯示出來,而不是將其包裹起來。
我曾嘗試更改爲包含= As.PROPERTY,但它將stil輸出爲「obj」。
我沒有使用自定義序列化器解決。但我必須設定每一個領域。
public class CustomSerializer extends JsonSerializer<Object> {
public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeObjectField("somename", value);
jgen.writeEndObject();
}
}
但問題是當過我要補充的TNODE類中的實例變量我要補充一點的代碼在自定義序列。我想避免這種情況。 有什麼建議嗎?