Gson @Expose एनोटेशन का उपयोग किसी फील्ड को एक्सपोज़्ड या नहीं (सीरियलाइज़्ड या डिसीरियलाइज़्ड के लिए शामिल या नहीं) के रूप में चिह्नित करने के लिए किया जा सकता है। @Expose एनोटेशन दो पैरामीटर्स ले सकता है और प्रत्येक पैरामीटर एक बूलियन है जो या तो true या false मान ले सकता है। GSON को @Expose एनोटेशन्स पर प्रतिक्रिया करने के लिए हमें GsonBuilder क्लास का उपयोग करके Gson इंस्टेंस बनाना होगा और excludeFieldsWithoutExposeAnnotation() मेथड को कॉल करना होगा, यह Gson को कॉन्फ़िगर करता है कि सीरियलाइज़ेशन या डिसीरियलाइज़ेशन के लिए उन सभी फील्ड्स को बाहर रखा जाए जिनमें Expose एनोटेशन नहीं है।
सिंटैक्स
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 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
}