在Spring中编写JSON解串器或对其进行扩展的正确方法

在Spring中编写JSON解串器或对其进行扩展的正确方法,第1张

在Spring中编写JSON解串器或对其进行扩展的正确方法

我进行了很多搜索,到目前为止,找到最好的方法是在这篇文章上:

类进行序列化

package net.sghill.example;import net.sghill.example.UserDeserializerimport net.sghill.example.UserSerializerimport org.prehaus.jackson.map.annotate.JsonDeserialize;import org.prehaus.jackson.map.annotate.JsonSerialize;@JsonDeserialize(using = UserDeserializer.class)public class User {    private ObjectId id;    private String   username;    private String   password;    public User(ObjectId id, String username, String password) {        this.id = id;        this.username = username;        this.password = password;    }    public ObjectId getId()       { return id; }    public String   getUsername() { return username; }    public String   getPassword() { return password; }}

反序列化器类

package net.sghill.example;import net.sghill.example.User;import org.prehaus.jackson.JsonNode;import org.prehaus.jackson.JsonParser;import org.prehaus.jackson.ObjectCodec;import org.prehaus.jackson.map.DeserializationContext;import org.prehaus.jackson.map.JsonDeserializer;import java.io.IOException;public class UserDeserializer extends JsonDeserializer<User> {    @Override    public User deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {        ObjectCodec oc = jsonParser.getCodec();        JsonNode node = oc.readTree(jsonParser);        return new User(null, node.get("username").getTextValue(), node.get("password").getTextValue());    }}

编辑:或者你可以看看这篇文章,它使用com.fasterxml.jackson.databind.JsonDeserializer的新版本。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5030884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存