Rumah >Java >javaTutorial >Bagaimana untuk Mencipta dan Mendaftar Pensiri Tersuai di Jackson untuk Pensirian JSON yang Disesuaikan?
Cara Menggunakan Penyeri Tersuai dalam Jackson
Di Jackson, penggunaan penyeri tersuai membolehkan siri JSON yang disesuaikan untuk kelas tertentu.
Mencipta Adat Serializer
Untuk mensirikan objek dari kelas Item, buat serializer tersuai:
public class ItemSerializer extends JsonSerializer<Item> { @Override public void serialize(Item value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject(); jgen.writeNumberField("id", value.id); jgen.writeNumberField("itemNr", value.itemNr); jgen.writeNumberField("createdBy", value.createdBy.id); jgen.writeEndObject(); } }
Mendaftarkan Serializer Tersuai
Selepas mencipta serializer, ia perlu didaftarkan dengan Jackson:
SimpleModule simpleModule = new SimpleModule("SimpleModule", new Version(1,0,0,null)); simpleModule.addSerializer(new ItemSerializer()); mapper.registerModule(simpleModule);
Pendaftaran Jenis Pengendalian
Jackson menimbulkan ralat kerana pengendalian jenis hilang. Selesaikan perkara ini dengan mengendalikan jenis secara eksplisit:
public class ItemSerializer extends JsonSerializer<Item> { @Override public void serialize(Item value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { // ... (Serialization code) } @Override public Class<Item> handledType() { return Item.class; } }
Bersiri dengan Jackson
Dengan penyeri tersuai yang didaftarkan, sirikan objek Item seperti biasa:
StringWriter writer = new StringWriter(); try { mapper.writeValue(writer, myItem); } catch (JsonGenerationException | JsonMappingException | IOException e) { e.printStackTrace(); }
Contoh untuk Pengguna Pensirian
Untuk mensirikan objek Pengguna dengan strategi penyirian tersuai, buat penyiri yang serupa dan daftarkannya dengan Jackson.
Ingat, penyiri tersuai memberikan fleksibiliti dalam mengawal perwakilan JSON objek anda , memenuhi keperluan siri khusus.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta dan Mendaftar Pensiri Tersuai di Jackson untuk Pensirian JSON yang Disesuaikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!