Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

Java में ExclusiveStrategy इंटरफ़ेस का उपयोग करके JSON को क्रमानुसार और deserialize कैसे करें?


बहिष्करण रणनीति इंटरफ़ेस का उपयोग किसी भी फ़ील्ड को बाहर करने . के लिए किया जा सकता है क्रमांकन और अक्रमांकन के दौरान। हम बहिष्करण रणनीति . का एक कस्टम कार्यान्वयन प्रदान कर सकते हैं इंटरफ़ेस और इसे GsonBuilder . के साथ पंजीकृत करने की आवश्यकता है s . का उपयोग करना etExclusionStrategies() तरीका। यह क्रमांकन और अक्रमांकन के दौरान बहिष्करण रणनीतियों के एक सेट को लागू करने के लिए Gson को कॉन्फ़िगर करता है।

सिंटैक्स

public GsonBuilder setExclusionStrategies(ExclusionStrategy... strategies)

उदाहरण

import com.google.gson.*;
import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
public class ExclusionStrategyTest {
   public static void main(String args[]) throws Exception {
      Gson gson = new GsonBuilder().setExclusionStrategies(new CustomExclusionStrategy()).create();
         Person person = new Person();
         person.setFirstName("Adithya");
         person.setLastName("Sai");
         person.setAddress("Hyderabad");
         String jsonString = gson.toJson(person);
         System.out.println("Serialize a JSON: \n "+jsonString);
         String inputJson = "{\"firstName\":\"Raja\", \"lastName\":\"Ramesh\", \"address\":\"Hyderabad\"}";
         person = gson.fromJson(inputJson, Person.class);
         System.out.println("Deserialize a JSON:\n"+ person);
      }
   }
   // CustomExclusionStrategy class
class CustomExclusionStrategy implements ExclusionStrategy {
   public boolean shouldSkipField(FieldAttributes f) {
      if(f.getName().equals("firstName")) {
         return true;
      }
      return false;
   }
   public boolean shouldSkipClass(Class aClass) {
      return false;
   }
}
// Person class
class Person {
   private String firstName, lastName, address;
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String geLastName() {
      return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String address) {
      this.address = address;
   }
   public String toString() {
      return "Person [" + firstName + " " + lastName + " " + address + "]";
   }
}

आउटपुट

Serialize a JSON:
{"lastName":"Sai","address":"Hyderabad"}
Deserialize a JSON:
Person [null Ramesh Hyderabad]

  1. जावा में JsonPointer इंटरफ़ेस का उपयोग करके किसी कुंजी के मान कैसे प्राप्त करें?

    JSONPointer एक मानक है जो स्ट्रिंग सिंटैक्स . को परिभाषित करता है जिसका उपयोग JSON दस्तावेज़ में किसी विशेष कुंजी मान तक पहुँचने के लिए किया जा सकता है। JSONPointer . का एक उदाहरण स्थिर फ़ैक्टरी विधि को कॉल करके बनाया जा सकता है createPointer() Json . पर कक्षा। JSONPointer में, प्रत्येक स्ट्रिंग

  1. जावा में JsonPatch इंटरफ़ेस का महत्व?

    JsonPatch इंटरफ़ेस संचालन के अनुक्रम . को संग्रहीत करने के लिए एक प्रारूप है जिसे लक्ष्य JSON संरचना पर लागू किया जा सकता है। कुछ ऑपरेशन हैं जैसे जोड़ें, हटाएं, बदलें, कॉपी करें, स्थानांतरित करें और परीक्षा JsonPath . में संग्रहीत किया जा सकता है और JSON संरचना पर संचालित। JsonPatchBuilder इंटरफ

  1. जावा में जीसन लाइब्रेरी का उपयोग करके फाइल करने के लिए JSON स्ट्रिंग कैसे लिखें?

    एक Gson एक पुस्तकालय है जिसका उपयोग Java ऑब्जेक्ट्स को JSON प्रतिनिधित्व में बदलने के लिए किया जा सकता है . उपयोग करने के लिए प्राथमिक वर्ग Gson . है जिसे हम नया Gson() . कॉल करके बना सकते हैं और GsonBuilder क्लास का उपयोग Gson इंस्टेंस बनाने के लिए किया जा सकता है। हम फाइल करने के लिए JSON स्ट्रि