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

जावा में Flexjson का उपयोग करके @JSON एनोटेशन के माध्यम से सीरियलाइजेशन को कैसे नियंत्रित करें

@JSON एनोटेशन का उपयोग JSONSerializer क्लास द्वारा सीरियलाइजेशन प्रक्रिया के दौरान फील्ड को एक्सक्लूड या इन्क्लूड करने के लिए किया जाता है। हम JSONSerializer क्लास के serialize() मेथड का उपयोग टार्गेट इंस्टेंस की शैलो सीरियलाइजेशन करने के लिए कर सकते हैं।

सिंटैक्स

@Retention(value=RUNTIME)
@Target(value={FIELD,TYPE,METHOD})
public @interface JSON

उदाहरण

import flexjson.JSONSerializer;
import flexjson.JSON;

public class JSONAnnotationTest {
    public static void main(String[] args) {
        JSONSerializer serializer = new JSONSerializer().prettyPrint(true);
        Employee emp = new Employee("Raja", "Ramesh", 30, "Hyderabad");
        String jsonStr = serializer.serialize(emp);
        System.out.println(jsonStr);
    }
}

// Employee क्लास
class Employee {
    private String firstName, lastName, address;
    private int age;
    
    public Employee(String firstName, String lastName, int age, String address) {
        super();
        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
        this.address = address;
    }
    
    public String getFirstName() {
        return firstName;
    }
    
    @JSON(include=false)
    public String getLastName() {
        return lastName;
    }
    
    public int getAge() {
        return age;
    }
    
    @JSON(include=false)
    public String getAddress() {
        return address;
    }
}

आउटपुट

{
  "age": 30,
  "class": "Employee",
  "firstName": "Raja"
}

मुख्य विशेषताएं

  • include=true/false: फील्ड को सीरियलाइजेशन में शामिल या बहिष्कृत करने के लिए
  • format: डेट फॉर्मेट जैसे कस्टम फॉर्मेटिंग के लिए
  • name: JSON में अलग नाम देने के लिए

अन्य उपयोगी एनोटेशन्स

@JSON(include=false)           // फील्ड को एक्सक्लूड करें
@JSON(name="customName")       // JSON प्रॉपर्टी नाम बदलें
@JSON(format="yyyy-MM-dd")     // डेट फॉर्मेट निर्दिष्ट करें

Flexjson vs Jackson

विशेषता Flexjson Jackson
एनोटेशन@JSON@JsonProperty, @JsonIgnore, आदि
मैच्योरिटीपुराना, कम मेंटेनसक्रिय रूप से मेंटेन, लोकप्रिय
परफॉरमेंसमध्यमउच्च (स्ट्रीमिंग API)
फीचर्सबेसिकव्यापक (पॉलीमॉर्फिज्म, मॉड्यूल्स, आदि)

नोट

Flexjson अब सक्रिय रूप से मेंटेन नहीं किया जाता है। नए प्रोजेक्ट्स के लिए Jackson या Gson का उपयोग करने की सिफारिश की जाती है।

  1. Java में OpenCV का उपयोग करके वृत्त कैसे बनाएं? Java में OpenCV का उपयोग करके वृत्त कैसे बनाएं?

    Java OpenCV लाइब्रेरी का org.opencv.imgproc पैकेज Imgproc नामक एक क्लास प्रदान करता है।वृत्त बनाने के लिए, आपको इस क्लास की circle() मेथड को कॉल करना होगा। यह मेथड निम्नलिखित पैरामीटर्स स्वीकार करती है −एक Mat ऑब्जेक्ट जो उस इमेज को दर्शाता है जिस पर वृत्त बनाया जाना है।एक Point ऑब्जेक्ट जो वृत्त के

  1. Java में OpenCV का उपयोग करके आयत कैसे बनाएं? Java में OpenCV का उपयोग करके आयत कैसे बनाएं?

    Java OpenCV लाइब्रेरी का org.opencv.imgproc पैकेज Imgproc नामक एक क्लास प्रदान करता है। आयत बनाने के लिए, आपको इस क्लास की rectangle() मेथड को कॉल करना होगा। यह मेथड निम्नलिखित पैरामीटर्स स्वीकार करती है −एक Mat ऑब्जेक्ट जो उस इमेज को दर्शाता है जिस पर आयत बनाया जाना है।दो Point ऑब्जेक्ट जो बनाए जान

  1. Java में OpenCV का उपयोग करके रेखा कैसे बनाएं? Java में OpenCV का उपयोग करके रेखा कैसे बनाएं?

    Java OpenCV लाइब्रेरी का org.opencv.imgproc पैकेज Imgproc नामक एक क्लास प्रदान करता है। रेखा बनाने के लिए, आपको इस क्लास की line() मेथड को कॉल करना होगा। यह मेथड निम्नलिखित पैरामीटर्स स्वीकार करती है −एक Mat ऑब्जेक्ट जो उस इमेज को दर्शाता है जिस पर रेखा बनाई जानी है।दो Point ऑब्जेक्ट जो उन बिंदुओं क