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

जावा में ऑब्जेक्ट मॉडल का उपयोग करके JsonWriter से JSON ऑब्जेक्ट को कैसे सीरियलाइज करें

javax.json.JsonWriter इंटरफेस JSON ऑब्जेक्ट या ऐरे स्ट्रक्चर को आउटपुट सोर्स में लिख सकता है। क्लास javax.json.JsonWriterFactory में JsonWriter इंस्टेंस बनाने के लिए मेथड्स होते हैं। एक फैक्टरी इंस्टेंस का उपयोग समान कॉन्फिगरेशन के साथ मल्टीपल राइटर इंस्टेंस बनाने के लिए किया जा सकता है। हम javax.json.Json क्लास के स्टैटिक मेथड createWriter() का उपयोग करके आउटपुट सोर्स से राइटर्स बना सकते हैं।

सिंटैक्स

public static JsonWriter createWriter(Writer writer)

उदाहरण

import java.io.StringWriter;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import javax.json.JsonWriter;

public class JsonWriterTest {
    public static void main(String[] args) {
        JsonObject jsonObj = Json.createObjectBuilder()
            .add("name", "Adithya")
            .add("age", 25)
            .add("salary", 40000)
            .add("address", 
                Json.createObjectBuilder()
                    .add("street", "Madhapur")
                    .add("city", "Hyderabad")
                    .add("zipCode", "500084")
                    .build()
            )
            .add("phoneNumber", 
                Json.createArrayBuilder()
                    .add("9959984000")
                    .add("7702144400")
                    .build()
            )
            .build();
        
        StringWriter stringWriter = new StringWriter();
        JsonWriter writer = Json.createWriter(stringWriter);
        writer.writeObject(jsonObj);
        writer.close();
        System.out.println(stringWriter.getBuffer().toString());
    }
}

आउटपुट

{"name":"Adithya","age":25,"salary":40000,"address":{"street":"Madhapur","city":"Hyderabad","zipCode":"500084"},"phoneNumber":["9959984000","7702144400"]}

JsonObjectBuilder मुख्य मेथड्स

मेथड विवरण
add(String name, String value)स्ट्रिंग वैल्यू जोड़ें
add(String name, int/long/double value)न्यूमेरिक वैल्यू जोड़ें
add(String name, boolean value)बूलियन वैल्यू जोड़ें
add(String name, JsonObject value)नेस्टेड ऑब्जेक्ट जोड़ें
add(String name, JsonArray value)नेस्टेड ऐरे जोड़ें
addNull(String name)नल वैल्यू जोड़ें
build()इम्यूटेबल JsonObject बनाएं

JsonArrayBuilder मुख्य मेथड्स

Json.createArrayBuilder()
    .add("value1")
    .add(123)
    .add(true)
    .add(Json.createObjectBuilder().add("key", "value"))
    .build();

JsonWriterFactory उपयोग

Map<String, Object> config = new HashMap<>();
config.put(JsonGenerator.PRETTY_PRINTING, true);
JsonWriterFactory factory = Json.createWriterFactory(config);
JsonWriter writer = factory.createWriter(stringWriter);
writer.writeObject(jsonObj);

स्ट्रीमिंग vs ऑब्जेक्ट मॉडल

पहलू ऑब्जेक्ट मॉडल (JsonObjectBuilder) स्ट्रीमिंग (JsonGenerator)
मेमोरीपूरा ट्री मेमोरी मेंलो मेमोरी (स्ट्रीमिंग)
उपयोग में आसानीसरल, फ्लुएंट APIअधिक जटिल
परफॉरमेंसछोटे डॉक्यूमेंट्स के लिए अच्छाबड़े डॉक्यूमेंट्स के लिए बेहतर
रैंडम एक्सेसहांनहीं (फॉरवर्ड ओनली)

निर्भरताएं

पिछले आर्टिकल (1005094140) देखें।

नोट

javax.json (JSR 374) JEE स्टैंडर्ड API है। आधुनिक एप्लिकेशन्स में अक्सर Jackson/Gson पसंद किए जाते हैं उनकी रिचर फीचर सेट और बेहतर परफॉरमेंस के कारण।

  1. - Java में GSON का उपयोग करके JSON ऑब्जेक्ट की सभी कुंजियाँ कैसे प्राप्त करें?

    Gson एक लाइब्रेरी है जिसका उपयोग Java ऑब्जेक्ट्स को JSON में पार्स करने और इसके विपरीत के लिए किया जा सकता है। इसका उपयोग JSON स्ट्रिंग को समतुल्य Java ऑब्जेक्ट में बदलने के लिए भी किया जा सकता है। Java ऑब्जेक्ट को JSON या JSON को Java ऑब्जेक्ट में पार्स करने के लिए, हमें Java प्रोग्राम में com.goo

  1. - Java में JSON ऑब्जेक्ट को कैसे डिकोड करें?

    JSON एक हल्का, टेक्स्ट-आधारित और भाषा-स्वतंत्र डेटा एक्सचेंज फॉर्मेट है। JSON दो संरचित प्रकारों जैसे ऑब्जेक्ट्स और ऐरे को दर्शा सकता है। हम json.simple API से JSONObject और JSONArray का उपयोग करके JSON ऑब्जेक्ट को डिकोड कर सकते हैं। एक JSONObject java.util.Map की तरह काम करता है जबकि JSONArray java

  1. - Jackson और Gson का उपयोग करके Java POJO को JSON में आसानी से बदलें

    इस ट्यूटोरियल में हम दिखाते हैं कि दो लाइब्रेरी, Jackson और Gson का उपयोग करके Java ऑब्जेक्ट को JSON में कैसे बदलें। हम एक Person क्लास का उपयोग करेंगे जो सिर्फ एक स्टैंडर्ड POJO है। एक बार Person ऑब्जेक्ट बनाने के बाद, हम इसे विभिन्न लाइब्रेरी का उपयोग करके JSON में बदल सकते हैं। Person.java import