The জ্যাকসন API৷ JSON ডেটার সাথে কাজ করার জন্য বেশ কয়েকটি পদ্ধতি প্রদান করে। জ্যাকসন API ব্যবহার করে, আমরা জাভা অবজেক্টকে JSON স্ট্রিং-এ রূপান্তর করতে পারি এবং JSON স্ট্রিং থেকে অবজেক্টকে সংস্কার করতে পারি। আমরা একটি কাস্টম সিরিয়ালাইজার বাস্তবায়ন করতে পারি StdSerializer ব্যবহার করে ক্লাস এবং সিরিয়ালাইজ(T মান, JsonGenerator gen, SerializerProvider প্রদানকারী) কে ওভাররাইড করতে হবে পদ্ধতি, প্রথম যুক্তি মান ক্রমানুসারে মান উপস্থাপন করে(শূন্য হতে পারে না ), দ্বিতীয় যুক্তি জেন Json সামগ্রী এবং তৃতীয় যুক্তি প্রোভাইডার আউটপুট করতে ব্যবহৃত জেনারেটরের প্রতিনিধিত্ব করে প্রদানকারীর প্রতিনিধিত্ব করে যা অবজেক্টের মান ক্রমিক করার জন্য সিরিয়ালাইজার পেতে ব্যবহার করা যেতে পারে।
সিনট্যাক্স
public abstract void serialize(T value, JsonGenerator gen, SerializerProvider provider) throws IOException
উদাহরণ
import java.io.*; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.module.*; import com.fasterxml.jackson.databind.ser.std.StdSerializer; public class JacksonSerializeTest { public static void main(String[] args) throws Exception { JacksonSerializeTest test = new JacksonSerializeTest(); test.serialize(); } public void serialize() throws Exception { User user = new User(); user.setFirstName("Raja"); user.setLastName("Ramesh"); ObjectMapper mapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); module.addSerializer(User.class, new UserSerializer()); mapper.registerModule(module); String jsonStr = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(user); // pretty print System.out.println(jsonStr); } } // User class class User implements Serializable { private String firstName; private String lastName; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } } // UserSerializer class class UserSerializer extends StdSerializer<User> { public UserSerializer() { this(null); } public UserSerializer(Class<User> t) { super(t); } @Override public void serialize(User value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject(); jgen.writeStringField("firstName", value.getFirstName()); jgen.writeStringField("lastName", value.getLastName()); jgen.writeEndObject(); } }
আউটপুট
{ "firstName" : "Raja", "lastName" : "Ramesh" }