কেবলমাত্র অন্য উত্তরের জন্য প্রসারিত করতে - যদি আপনাকে প্রতি ক্ষেত্র ভিত্তিতে নাল মান বাদ দেওয়া নিয়ন্ত্রণ করতে হয় তবে ক্ষেত্রটি প্রশ্নে মন্তব্য করুন (অথবা বিকল্পভাবে ক্ষেত্রের 'গেটর' এনেটেট করুন)।
উদাহরণস্বরূপ - এখানে কেবল fieldOneজসন থেকে বাদ দেওয়া হবে যদি এটি শূন্য হয়। fieldTwoএটি বাতিল হলে নির্বিশেষে সর্বদা এতে অন্তর্ভুক্ত থাকবে।
public class Foo {
@JsonInclude(JsonInclude.Include.NON_NULL)
private String fieldOne;
private String fieldTwo;
}
ক্লাসের সমস্ত নাল মানকে ডিফল্ট হিসাবে বাদ দিতে ক্লাসটি টীকায় দিন। প্রয়োজন অনুসারে এই ডিফল্টটিকে ওভাররাইড করতে প্রতি ফিল্ড / গেটর টীকা এখনও ব্যবহার করা যেতে পারে।
উদাহরণস্বরূপ - এখানে fieldOneএবং fieldTwoজেসন থেকে বাদ পড়বে যদি তারা যথাক্রমে নাল হয় তবে এটি ক্লাস টিকা দ্বারা সেট করা ডিফল্ট। fieldThreeতবে ক্ষেত্রটিতে টীকাগুলির কারণে ডিফল্টটিকে ওভাররাইড করবে এবং সর্বদা অন্তর্ভুক্ত করা হবে।
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Foo {
private String fieldOne;
private String fieldTwo;
@JsonInclude(JsonInclude.Include.ALWAYS)
private String fieldThree;
}
হালনাগাদ
উপরে জন্য জ্যাকসন 2 । জন্য পূর্ববর্তী সংস্করণে জ্যাকসন আপনার ব্যবহারের প্রয়োজন:
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
পরিবর্তে
@JsonInclude(JsonInclude.Include.NON_NULL)
যদি এই আপডেটটি দরকারী হয় তবে দয়া করে নীচে ZiglioUK এর উত্তরটিকে সমর্থন করুন, এটি নতুন জ্যাকসন 2 টি টীকাটি এটি ব্যবহার করার জন্য আমার উত্তরটি আপডেট করার অনেক আগে চিহ্নিত করেছে!
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL); একরকম আপনার টিকা পাওয়া যায় নি।