1.实体类
package tju.SpringBoot01;
import java.io.Serializable;
public class BaseClass implements Serializable {
String yourname;
int yourage;
public BaseClass(String string, int i) {
yourname=string;
yourage=i;
}
public String getYourname() {
return yourname;
}
public void setYourname(String yourname) {
this.yourname = yourname;
}
public int getYourage() {
return yourage;
}
public void setYourage(int yourage) {
this.yourage = yourage;
}
}
2序列化和反序列化类
package tju.SpringBoot01;
import java.io.;
import com.fasterxml.jackson.core.;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.node.IntNode;
import com.fasterxml.jackson.databind.node.TextNode;
import org.springframework.boot.jackson.*;
@JsonComponent
public class MyJsonConverter {
public static class Serializer extends JsonSerializer<BaseClass> {
@Override
public void serialize(BaseClass value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeStartObject();
gen.writeObjectField("yourname", value.getYourname());
gen.writeObjectField("yourage", value.getYourage());
gen.writeEndObject();
}
}
public static class Deserializer extends JsonDeserializer<BaseClass> {
@Override
public BaseClass deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
TreeNode treeNode = p.getCodec().readTree(p);
TextNode textNode = (TextNode) treeNode.get("yourname");
IntNode intNode=(IntNode)treeNode.get("yourage");
System.out.println("This is MyDeserializer");
String yourname=textNode.asText();
int yourage=intNode.asInt();
return new BaseClass(yourname,yourage);
}
}
}