我想要實現的是JsonNode在自定義反序列化器中將 a 轉換為 POJO(即反序列化)。大多數其他答案,比如這里的這個,建議使用ObjectMapper,但該deserialize方法具體沒有對象映射器,因此解決方案不起作用。這是我的自定義反序列化器:class AccountDeserializer extends StdDeserializer<Input> { public AccountDeserializer() { this(null); } public AccountDeserializer(Class<?> vc) { super(vc); } @Override public Account deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode root = jp.getCodec().readTree(jp); User user = root.get("user").????; // other statements Account acc = new Account(user); return acc; }}(User是一個簡單的類)
1 回答

慕妹3146593
TA貢獻1820條經驗 獲得超9個贊
您可以像這樣使用ObjectCodec
in :JsonParser
jp.getCodec().treeToValue(root.get("user"), User.class)
這將User
根據任何其他現有的序列化規則將您的對象還給您。
感謝@galcyurio 在將 JsonNode 轉換為 POJO 中的評論:
您還可以在 StdDeserializer 中使用此方法:p.codec.treeToValue
添加回答
舉報
0/150
提交
取消