java jackson json custom serializer code example

Example 1: java json deserializer

private Car parseCar(JsonNode node) {
        Car car;
        ObjectMapper mapper = new ObjectMapper();
        SimpleModule module = new SimpleModule().addDeserializer(Car.class, new CarDeserializer());
        mapper.registerModule(module);
        organization = mapper.convertValue(node, Car.class);
        return car;
}

//deserializer class
public class CarDeserializer extends StdDeserializer<Car> {

    public CarDeserializer() {
        super(Car.class);
    }

    @Override
    public Car deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.registerModule(new JodaModule());

        Car car = new Car();
        car.setName(getValueAsText(root, "carName"));
        car.setDoorCount(getValueAsInt(root,"doorCount"));
        car.setColor(getValueAsText(root,"color"));
		car.setType(getValueAsText(root,"type"));

        return car;
    }

}

Example 2: java json serializer

public class someClass {
//your lcode and logic...
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule();
module.addSerializer(MyAwesomeClass.class, new MyAwesomeSerializer());
mapper.registerModule(module);

jsonNode = mapper.convertValue(myAwesomeObject, JsonNode.class);
//... your code and logic
}
 
//serializer class
public class MyAwesomeSerializer extends StdSerializer<MyAwesomeClass> {

    public MyAwesomeSerializer() {
        super(MyAwesomeClass.class);
    }

    @Override
    public void serialize(MyAwesomeClass myAwesomeClass, JsonGenerator jgen, SerializerProvider provider) throws IOException {
        ObjectMapper mapper = new ObjectMapper();

        jgen.writeStartObject();
        jgen.writeStringField("name", myAwesomeClass.getName());
        jgen.writeStringField("age", myAwesomeClass.getAge());

          jgen.writeArrayFieldStart("hobbies");
          for (Hobby hobby : myAwesomeClass.getHobbies()) {
              jgen.writeObject(mapper.convertValue(hobby, JsonNode.class));
          }
          jgen.writeEndArray();
      
        jgen.writeEndObject();
    }

}

Tags:

Java Example