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

जावा में JSON-lib API का उपयोग करके बीन को टाइप हिंट्स के बिना XML में कैसे कन्वर्ट करें

JSON-lib जावा बीन्स, मैप्स, ऐरे, और कलेक्शन्स को JSON फॉर्मेट में सीरियलाइज और डीसीरियलाइज करने के लिए एक जावा लाइब्रेरी है। हम XMLSerializer क्लास के setTypeHintsEnabled() मेथड का उपयोग करके बीन को टाइप हिंट्स के बिना XML में कन्वर्ट कर सकते हैं, यह मेथड सेट करता है कि JSON टाइप्स को एट्रिब्यूट्स के रूप में शामिल किया जा सकता है या नहीं। हम इस मेथड में false आर्गुमेंट पास करके XML में टाइप हिंट्स को डिसेबल कर सकते हैं।

सिंटैक्स

public void setTypeHintsEnabled(boolean typeHintsEnabled)

उदाहरण

import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;

public class ConvertBeanToXMLNoHintsTest {
    public static void main(String[] args) {
        Employee emp = new Employee("Krishna Vamsi", 115, 30, "Java");
        JSONObject jsonObj = JSONObject.fromObject(emp);
        System.out.println(jsonObj.toString(3)); // प्रिटी प्रिंट JSON
        
        XMLSerializer xmlSerializer = new XMLSerializer();
        xmlSerializer.setTypeHintsEnabled(false); // यह मेथड टाइप हिंट्स को डिसेबल करता है
        String xml = xmlSerializer.write(jsonObj);
        System.out.println(xml);
    }
    
    public static class Employee {
        private String empName, empSkill;
        private int empId, age;
        
        public Employee(String empName, int empId, int age, String empSkill) {
            super();
            this.empName = empName;
            this.empId = empId;
            this.age = age;
            this.empSkill = empSkill;
        }
        
        // गेटर्स...
        public String getEmployeeName() { return empName; }
        public int getEmployeeId() { return empId; }
        public String getEmployeeSkill() { return empSkill; }
        public int getAge() { return age; }
    }
}

आउटपुट

{
  "employeeName": "Krishna Vamsi",
  "employeeSkill": "Java",
  "employeeId": 115,
  "age": 30
}


  30
  115
  Krishna Vamsi
  Java

टाइप हिंट्स के साथ आउटपुट (डिफ़ॉल्ट)



  30
  115
  Krishna Vamsi
  Java

मुख्य अंतर

पहलू टाइप हिंट्स के साथ टाइप हिंट्स के बिना
XML आकारबड़ा (टाइप एट्रिब्यूट्स)छोटा
डीसीरियलाइजेशनटाइप इन्फो संरक्षितटाइप इन्फो खो जाती है
रीडेबिलिटीकम (वर्बोज़)अधिक (क्लीन)
इंटरऑपरेबिलिटीJSON-lib स्पेसिफिकस्टैंडर्ड XML

कब टाइप हिंट्स डिसेबल करें

  • थर्ड-पार्टी XML कंज्यूमर्स के लिए जो टाइप एट्रिब्यूट्स नहीं समझते
  • क्लीनर, मानव-पठनीय XML के लिए
  • जब टाइप इन्फो आवश्यक न हो (स्कीमा-आधारित वैलिडेशन)
  • बैंडविड्थ/स्टोरेज ऑप्टिमाइजेशन के लिए

अन्य XMLSerializer विकल्प

XMLSerializer serializer = new XMLSerializer();
serializer.setTypeHintsEnabled(false);
serializer.setRootName("employee"); // कस्टम रूट एलिमेंट नाम
serializer.setNamespace("https://example.com/ns"); // नेमस्पेस
String xml = serializer.write(jsonObj);

नोट

JSON-lib लिगेसी है। आधुनिक XML/JSON कन्वर्जन के लिए Jackson (XmlMapper) या JAXB का उपयोग करें।

  1. - GSON लाइब्रेरी का उपयोग करके Java ऑब्जेक्ट को JSON में कैसे बदलें?

    JSON (JavaScript Object Notation) एक हल्का, टेक्स्ट-आधारित, ओपन स्टैंडर्ड है जिसे मानव-पठनीय डेटा इंटरचेंज के लिए डिज़ाइन किया गया है। JSON द्वारा उपयोग की जाने वाली कन्वेंशन प्रोग्रामर्स के लिए जानी जाती हैं, जिनमें C, C++, Java, Python, Perl आदि शामिल हैं। JSON ऑब्जेक्ट्स को संभालने के लिए कई Jav

  1. - Java में XML को JSON ऐरे में कैसे बदलें?

    JSON एक हल्का डेटा-इंटरचेंज फॉर्मेट है और JSON का फॉर्मेट की-वैल्यू जोड़ी जैसा होता है। हम org.json.XML क्लास का उपयोग करके XML को JSON ऐरे में बदल सकते हैं, यह एक स्टैटिक मेथड, XML.toJSONObject() प्रदान करता है जो XML को JSON ऐरे में बदलता है। सिंटैक्स public static JSONObject toJSONObject(java.la

  1. - Java में CLOB टाइप को String में कैसे कन्वर्ट करें?

    CLOB का मतलब Character Large Object है। सामान्य तौर पर, एक SQL Clob एक बिल्ट-इन डेटाटाइप है और बड़ी मात्रा में टेक्स्टुअल डेटा स्टोर करने के लिए उपयोग किया जाता है। इस डेटाटाइप का उपयोग करके, आप 2,147,483,647 कैरेक्टर्स तक डेटा स्टोर कर सकते हैं। java.sql.Clob इंटरफेस JDBC API का CLOB डेटाटाइप को द