দ্য জ্যাকসন জাভার জন্য একটি লাইব্রেরি এবং এটিতে অত্যন্ত শক্তিশালী ডেটা বাইন্ডিং ক্ষমতা রয়েছে এবং এটি JSON-এ কাস্টম জাভা অবজেক্টগুলিকে সিরিয়ালাইজ করার জন্য একটি কাঠামো প্রদান করে এবং জেএসওএনকে জাভা অবজেক্টে ডিসিরিয়ালাইজ করুন . জ্যাকসন লাইব্রেরি @JsonInclude টীকা প্রদান করে যেটি ক্রমিককরণের সময় তাদের মানগুলির উপর ভিত্তি করে একটি সম্পূর্ণ বা তার পৃথক ক্ষেত্রগুলির সিরিয়ালাইজেশন নিয়ন্ত্রণ করে৷
The @JsonInclude টীকা৷ নিচে দুটি মান রয়েছে
- অন্তর্ভুক্ত করুন।NON_NULL :নির্দেশ করে যে শুধুমাত্র শূন্য মান ছাড়া বৈশিষ্ট্যগুলি JSON-এ অন্তর্ভুক্ত করা হবে।
- অন্তর্ভুক্ত করুন।NON_EMPTY :ইঙ্গিত করে যে কেবলমাত্র খালি নয় এমন বৈশিষ্ট্যগুলিকে JSON -তে অন্তর্ভুক্ত করা হবে৷
উদাহরণ
import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; public class IgnoreNullAndEmptyFieldTest { public static void main(String[] args) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT); Employee employee = new Employee(115, null, ""); // passing null and empty fields String result = mapper.writeValueAsString(employee); System.out.println(result); } } // Employee class class Employee { private int id; @JsonInclude(Include.NON_NULL) private String firstName; @JsonInclude(Include.NON_EMPTY) private String lastName; public Employee(int id, String firstName, String lastName) { super(); this.id = id; this.firstName = firstName; this.lastName = lastName; } public int getId() { return id; } public void setId(int id) { this.id = id; } 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; } }
আউটপুট
{ "id" : 115 }