কম্পিউটার টিউটোরিয়াল

JsonParserSequence ব্যবহার করে দুটি JSON স্ট্রিং অর্ডারমেনে মার্জ

JsonParserSequence একটি হেল্পার ক্লাস যা দুটি সাব-পার্সারকে নির্দিষ্ট সিকোয়েন্সে রাখে একটি পার্সার তৈরি করতে। JsonParserSequence ক্লাসের স্ট্যাটিক createFlattened() মেথড ব্যবহার করে সিকোয়েন্স তৈরি করা যায়।

সিনট্যাক্স

public static JsonParserSequence createFlattened(JsonParser first, JsonParser second)

উদাহরণ

import java.io.*;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.util.*;

public class JsonParserSequenceTest {
    public static void main(String[] args) throws JsonParseException, IOException {
        String jsonString1 = "{\"id\":\"101\", \"name\":\"Ravi Chandra\", \"address\":\"Pune\"}";
        String jsonString2 = "{\"id\":\"102\", \"name\":\"Raja Ramesh\", \"address\":\"Hyderabad\", \"contacts\":[{\"mobile\":\"9959984805\", \"home\":\"7702144400\"}]}";
        
        JsonFactory jsonFactory = new JsonFactory();
        JsonParser jsonParser1 = jsonFactory.createParser(jsonString1);
        JsonParser jsonParser2 = jsonFactory.createParser(jsonString2);
        
        JsonParserSequence jsonParserSequence = JsonParserSequence.createFlattened(jsonParser1, jsonParser2);
        
        JsonToken jsonToken = jsonParserSequence.nextToken();
        while(jsonToken != null) {
            switch(jsonToken) {
                case FIELD_NAME: 
                    System.out.println("Key field: " + jsonParserSequence.getText());
                    break;
                case VALUE_FALSE:
                case VALUE_NULL:
                case VALUE_NUMBER_FLOAT:
                case VALUE_NUMBER_INT:
                case VALUE_STRING:
                case VALUE_TRUE:
                    System.out.println("Key value: " + jsonParserSequence.getText());
                    break;
            }
            jsonToken = jsonParserSequence.nextToken();
        }
        jsonParserSequence.close();
    }
}

আউটপুট

Key field: id
Key value: 101
Key field: name
Key value: Ravi Chandra
Key field: address
Key value: Pune
Key field: id
Key value: 102
Key field: name
Key value: Raja Ramesh
Key field: address
Key value: Hyderabad
Key field: contacts
Key field: mobile
Key value: 9959984805
Key field: home
Key value: 7702144400

ব্যবহার ক্ষেত্র

  • একাধিক JSON স্ট্রিম সিকোয়েনশিয়ালি প্রসেস করতে (লগ ফাইল, চান্কড রেসপন্স)
  • মেমোরি এফিশিয়েন্ট: পুরো JSON লোড না করে স্ট্রিমিং
  • দুটি JSON অবজেক্ট একসাথে ট্রাভার্স করতে

নোট

JsonParserSequence দুটি পার্সারকে ফ্ল্যাটেন করে - প্রথম পার্সার শেষ হলে দ্বিতীয় পার্সার শুরু হয়। নেস্টেড স্ট্রাকচার সঠিকভাবে হ্যান্ডেল হয়।

  1. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে দুটি চিত্র তুলনা

  2. জাভাতে JsonPointer ইন্টারফেস ব্যবহার করে কী-এর মান কীভাবে পাবেন?

  3. জাভাতে JSON অ্যারে কীভাবে লিখবেন/তैयার করবেন?

  4. জাভাতে JSON ফাইল কীভাবে লিখবেন/তैयার করবেন?