Streams এবং Buffer ব্যবহার করে JSON পার্সিং

Boon এর বিভিন্ন পার্সিং মেথড - বুন (Boon) - Java Technologies

282

Boon একটি দ্রুত JSON প্রসেসিং লাইব্রেরি, যা Streams এবং Buffer ব্যবহার করে JSON ডেটা পার্সিং (parsing) করার জন্য কার্যকরী। JSON ডেটা অনেক সময় বড় হয়ে থাকতে পারে, তাই Streams এবং Buffer ব্যবহার করে পার্সিং করলে মেমরি ব্যবস্থাপনা আরও ভালো হয় এবং পারফরম্যান্স বৃদ্ধি পায়। Boon লাইব্রেরি streaming JSON parsing এবং buffered reading এর জন্য কার্যকরী টুলস সরবরাহ করে।


Streams এবং Buffer দিয়ে JSON পার্সিংয়ের সুবিধা

Streams এবং Buffers ব্যবহার করার প্রধান সুবিধা হলো এটি মেমরি ব্যবস্থাপনাকে উন্নত করে এবং দ্রুত ডেটা প্রোসেসিংয়ের সুযোগ তৈরি করে। যখন JSON ডেটার আকার বড় হয়, তখন সমস্ত ডেটা একযোগে মেমরিতে লোড না করে স্ট্রিমের মাধ্যমে পার্সিং করা হয়। এর ফলে কম মেমরি ব্যবহার হয় এবং বড় ডেটা সহজে প্রোসেস করা যায়।


Boon-এর মাধ্যমে Streams এবং Buffer ব্যবহার করে JSON পার্সিং

Boon লাইব্রেরি InputStream এবং BufferedReader ব্যবহার করে JSON ডেটা পার্স করতে সাহায্য করে। এতে Boon JSON স্ট্রিমিং প্রসেসিংয়ের জন্য Boon.fromJson মেথড সরবরাহ করে, যা স্ট্রিম ডেটা প্রক্রিয়া করে।


ধাপ 1: Boon লাইব্রেরি যোগ করা

প্রথমে, Maven বা Gradle ব্যবহার করে Boon লাইব্রেরি যোগ করুন।

Maven (pom.xml):

<dependency>
    <groupId>org.boon</groupId>
    <artifactId>boon</artifactId>
    <version>1.0.6</version>
</dependency>

Gradle (build.gradle):

dependencies {
    implementation 'org.boon:boon:1.0.6'
}

ধাপ 2: JSON স্ট্রিমিং পার্সিং উদাহরণ

এখন, BufferedReader এবং InputStream ব্যবহার করে JSON পার্সিংয়ের উদাহরণ দেখা যাক। ধরুন, আপনার কাছে একটি JSON ফাইল আছে, এবং আপনি এই JSON ডেটা স্ট্রিমের মাধ্যমে পার্স করতে চান।

import org.boon.Boon;
import java.io.*;

public class StreamParsingExample {
    public static void main(String[] args) {
        // JSON ডেটা ধারণকারী একটি ফাইল
        String jsonFilePath = "data.json";

        // JSON ফাইল থেকে স্ট্রিম পার্সিং করা
        try (BufferedReader reader = new BufferedReader(new FileReader(jsonFilePath))) {
            // BufferedReader থেকে JSON ডেটা পড়া
            String line;
            StringBuilder jsonContent = new StringBuilder();
            while ((line = reader.readLine()) != null) {
                jsonContent.append(line);
            }

            // JSON স্ট্রিম পার্সিং
            Object parsedObject = Boon.fromJson(jsonContent.toString());

            // পার্স করা অবজেক্ট দেখানো
            System.out.println(parsedObject);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে, আমরা BufferedReader ব্যবহার করে JSON ডেটা ফাইল থেকে পড়ছি এবং Boon.fromJson() মেথড দিয়ে JSON স্ট্রিমকে অবজেক্টে রূপান্তর করছি। Boon লাইব্রেরি JSON ডেটাকে দ্রুত এবং কার্যকরীভাবে প্রোসেস করে।


ধাপ 3: JSON স্ট্রিমের মাধ্যমে ডেটা এক্সট্র্যাক্ট করা

যদি আপনি JSON ডেটা থেকে নির্দিষ্ট কিছু তথ্য এক্সট্র্যাক্ট করতে চান, তাহলে আপনি স্ট্রিম পার্সিংয়ের মাধ্যমে JSON অবজেক্ট থেকে প্রপার্টি বের করতে পারেন।

import org.boon.Boon;
import java.util.Map;

public class StreamParsingWithExtract {
    public static void main(String[] args) {
        String jsonData = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";

        // JSON স্ট্রিম থেকে পার্স করা
        Map<String, Object> parsedData = Boon.fromJson(jsonData, Map.class);

        // নাম এবং বয়স এক্সট্র্যাক্ট করা
        String name = (String) parsedData.get("name");
        int age = (int) parsedData.get("age");

        // এক্সট্র্যাক্ট করা ডেটা প্রদর্শন
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}

এখানে, Boon লাইব্রেরি JSON স্ট্রিমের মাধ্যমে ডেটা পার্স করে এবং একটি Map অবজেক্টে সেই ডেটা স্টোর করে। তারপর, নির্দিষ্ট প্রপার্টি বের করা হচ্ছে।


সারাংশ

Boon লাইব্রেরি ব্যবহার করে Streams এবং Buffer এর মাধ্যমে JSON পার্সিং করা একটি দ্রুত এবং মেমরি-বান্ধব পদ্ধতি। এই প্রক্রিয়াটি বড় JSON ডেটা প্রোসেস করার ক্ষেত্রে কার্যকরী এবং এটি মেমরি ব্যবস্থাপনাকে উন্নত করে। Boon লাইব্রেরি JSON স্ট্রিমিং এবং পার্সিংয়ের জন্য সহজ, দ্রুত এবং কার্যকরী সমাধান প্রদান করে, যা Java অ্যাপ্লিকেশনের পারফরম্যান্স বৃদ্ধি করতে সহায়ক।


Content added By
Promotion

Are you sure to start over?

Loading...