我想要實現(xiàn)的是JsonNode在自定義反序列化器中將 a 轉(zhuǎn)換為 POJO(即反序列化)。大多數(shù)其他答案,比如這里的這個,建議使用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條經(jīng)驗 獲得超9個贊
您可以像這樣使用ObjectCodec
in :JsonParser
jp.getCodec().treeToValue(root.get("user"), User.class)
這將User
根據(jù)任何其他現(xiàn)有的序列化規(guī)則將您的對象還給您。
感謝@galcyurio 在將 JsonNode 轉(zhuǎn)換為 POJO 中的評論:
您還可以在 StdDeserializer 中使用此方法:p.codec.treeToValue
添加回答
舉報
0/150
提交
取消