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

जावा में org.simple.json और org.json लाइब्रेरीज के बीच अंतर

org.json.simple लाइब्रेरी हमें जावा में JSON डेटा को पढ़ने और लिखने की अनुमति देती है। दूसरे शब्दों में, हम JSON ऑब्जेक्ट को एनकोड और डीकोड कर सकते हैं। org.json.simple पैकेज में JSONValue, JSONObject, JSONArray, JsonString और JsonNumber जैसी महत्वपूर्ण क्लासेस होती हैं। JSON प्रोग्राम चलाने के लिए हमें json-simple.jar फाइल इंस्टॉल करने की आवश्यकता होती है जबकि org.json लाइब्रेरी में जावा के लिए JSON पार्स करने के लिए क्लासेस होती हैं। यह JSON और XML, HTTP हेडर, कुकीज़, और CDL के बीच कन्वर्जन भी करता है। org.json पैकेज में JSONObject, JSONTokener, JSONWriter, JSONArray, CDL, Cookie और CookieList जैसी महत्वपूर्ण क्लासेस होती हैं। JSON प्रोग्राम चलाने के लिए हमें json.jar फाइल इंस्टॉल करने की आवश्यकता होती है।

org.json.simple पैकेज के लिए उदाहरण

import org.json.simple.JSONObject;

public class SimpleJsonTest {
    public static void main(String[] args) {
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("empName", "Raja");
        jsonObj.put("employeeId", "115");
        jsonObj.put("age", "30");
        System.out.println(jsonObj.toJSONString());
    }
}

आउटपुट

{"empName":"Raja","employeeId":"115","age":"30"}

org.json पैकेज के लिए उदाहरण

import org.json.*;

public class JSONTest {
    public static void main(String args[]) throws JSONException {
        String json = "{" + "Name : Jai," + "Age : 25, " + "Salary: 25000.00 " + "}";
        JSONObject jsonObj = new JSONObject(json);
        System.out.println(jsonObj.toString());
    }
}

आउटपुट

{"Salary":25000,"Age":25,"Name":"Jai"}

विस्तृत तुलना

पहलू org.json.simple (json-simple) org.json (json.org)
मूलGoogle Code / FangYidongDouglas Crockford (JSON आविष्कारक)
लाइसेंसApache 2.0JSON लाइसेंस (फ्री सॉफ्टवेयर)
Maven आर्टिफैक्टcom.googlecode.json-simple:json-simpleorg.json:json
मुख्य क्लासेसJSONObject, JSONArray, JSONValueJSONObject, JSONArray, JSONTokener, JSONWriter
पार्सिंगJSONValue.parse()new JSONObject(string) / JSONTokener
सीरियलाइजेशनtoJSONString()toString() / JSONWriter
XML कन्वर्जननहींहां (XML.toJSONObject(), XML.toString())
HTTP/कुकी सपोर्टनहींहां (Cookie, CookieList, HTTP हेडर)
CDL (कॉमा-डिलिमिटेड)नहींहां (CDL क्लास)
स्ट्रीमिंग APIनहींनहीं (केवल ट्री मॉडल)
मेंटेनेंस स्टेटसकम सक्रियसक्रिय रूप से मेंटेन
प्रदर्शनमध्यममध्यम

API उपयोग तुलना

// json-simple
JSONObject obj = new JSONObject();
obj.put("key", "value");
String json = obj.toJSONString();

// पार्सिंग
Object parsed = JSONValue.parse(jsonStr);
JSONObject obj2 = (JSONObject) parsed;

// org.json
JSONObject obj = new JSONObject();
obj.put("key", "value");
String json = obj.toString();

// पार्सिंग
JSONObject obj2 = new JSONObject(jsonStr);
// या
JSONTokener tokener = new JSONTokener(jsonStr);
JSONObject obj3 = new JSONObject(tokener);

कौन सा चुनें?

  • org.json: यदि XML कन्वर्जन, HTTP/कुकी हैंडलिंग, CDL, या स्टैंडर्ड रेफरेंस इम्प्लीमेंटेशन चाहिए
  • json-simple: सरल केसेस के लिए, हल्का, Maven Central पर आसान उपलब्धता
  • बेहतर विकल्प: Jackson, Gson, JSON-B (JSR 367) - अधिक फीचर्स, बेहतर परफॉरमेंस, सक्रिय मेंटेनेंस

निर्भरताएं (Maven)

<!-- json-simple -->
<dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>

<!-- org.json -->
<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20231013</version>
</dependency>
  1. - जावा में wait() और sleep() मेथड में अंतर?

    sleep() मेथड Thread क्लास का एक स्टैटिक मेथड है और यह वर्तमान रनिंग थ्रेड को नॉन-रनेबल स्थिति में भेज सकता है जबकि wait() मेथड एक इंस्टेंस मेथड है, हम इसे थ्रेड ऑब्जेक्ट का उपयोग करके बुलाते हैं और यह केवल उस ऑब्जेक्ट के लिए प्रभावी होता है। sleep() मेथड समय समाप्त होने या interrupt() मेथड बुलाए जा

  1. Java में JTextField और JFormattedTextField के बीच क्या अंतर हैं? Java में JTextField और JFormattedTextField के बीच क्या अंतर हैं?

    एक JTextField का उपयोग सादे टेक्स्ट के लिए किया जा सकता है जबकि एक JFormattedTextField एक क्लास है जो JTextField को विस्तारित करती है और इसका उपयोग उस टेक्स्ट पर कोई भी फॉर्मेट सेट करने के लिए किया जा सकता है जो इसमें होता है जैसे फोन नंबर, ई-मेल, तारीखें आदि। JTextField एक JTextField सबसे महत्वपू

  1. Java में JScrollBar और JScrollPane के बीच क्या अंतर हैं? Java में JScrollBar और JScrollPane के बीच क्या अंतर हैं?

    एक JScrollBar एक घटक है और यह अपने इवेंट को स्वयं नहीं संभालता जबकि एक JScrollPane एक कंटेनर है और यह अपने इवेंट को स्वयं संभालता है और अपनी स्क्रॉलिंग करता है। एक JScrollBar में JScrollPane नहीं हो सकता जबकि एक JScrollPane में JScrollBar हो सकता है। JScrollBar JScrollBar क्लास का ऑब्जेक्ट क्षैतिज