Gson @Expose एनोटेशन धारावाहिक या deserialized के लिए एक क्षेत्र को उजागर करने के लिए या नहीं (शामिल है या नहीं) को चिह्नित करने के लिए इस्तेमाल किया जा सकता है। @एक्सपोज़ एनोटेशन दो पैरामीटर ले सकते हैं और प्रत्येक पैरामीटर एक बूलियन है जो या तो मान ले सकता है सत्य या झूठा . GSON को @Expose एनोटेशन पर प्रतिक्रिया देने के लिए हमें GsonBuilder का उपयोग करके Gson इंस्टेंस बनाना होगा वर्ग और कॉल करने की आवश्यकता है बहिष्कृत फ़ील्ड्सविथआउटएक्सपोज़एनोटेशन() विधि, यह Gson को उन सभी क्षेत्रों को क्रमांकन या अक्रमांकन के लिए विचार से बाहर करने के लिए कॉन्फ़िगर करती है जिनमें एक्सपोज़ एनोटेशन नहीं है।
सिंटैक्स
public GsonBuilder excludeFieldsWithoutExposeAnnotation()
उदाहरण
import com.google.gson.*; import com.google.gson.annotations.*; public class JsonExcludeAnnotationTest { public static void main(String args[]) { Employee emp = new Employee("Raja", 28, 40000.00); Gson gson = new GsonBuilder().setPrettyPrinting().create(); String jsonStr = gson.toJson(emp); System.out.println(jsonStr); gson = new GsonBuilder().setPrettyPrinting().excludeFieldsWithoutExposeAnnotation().create(); jsonStr = gson.toJson(emp); System.out.println(jsonStr); } } // Employee class class Employee { @Expose(serialize = true, deserialize = true) public String name; @Expose(serialize = true, deserialize = true) public int age; @Expose(serialize = false, deserialize = false) public double salary; public Employee(String name, int age, double salary) { this.name = name; this.age = age; this.salary = salary; } }
आउटपुट
{ "name": "Raja", "age": 28, "salary": 40000.0 } { "name": "Raja", "age": 28 }