Skill

JSoup এর মাধ্যমে JSON API থেকে Data Fetch করা

JSON Data Extraction এবং Manipulation - জেসুপ (JSoup) - Java Technologies

377

JSoup মূলত HTML পার্সিং এবং ওয়েব স্ক্র্যাপিংয়ের জন্য ব্যবহৃত হলেও, JSON API থেকে ডেটা সংগ্রহ করতে এটি সরাসরি ব্যবহৃত হয় না। তবে, JSoup এর মাধ্যমে আপনি HTML ডকুমেন্ট পার্স করতে পারলেও JSON ডেটা এক্সট্র্যাক্ট করার জন্য আপনাকে অন্যান্য লাইব্রেরি যেমন HttpURLConnection, OkHttp, অথবা Retrofit ব্যবহার করতে হবে।

নিচে, JSON API থেকে ডেটা ফেচ করার জন্য কিছু পদ্ধতি এবং উদাহরণ দেয়া হলো।


JSON API থেকে ডেটা ফেচ করার জন্য পদ্ধতি

1. HttpURLConnection ব্যবহার করা

আপনি HttpURLConnection ব্যবহার করে JSON API থেকে ডেটা ফেচ করতে পারেন। এই পদ্ধতিতে একটি HTTP GET রিকোয়েস্ট পাঠানো হয় এবং তারপর API থেকে পাওয়া JSON রেসপন্স প্রসেস করা হয়।

উদাহরণ:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class JsonFetchExample {
    public static void main(String[] args) throws Exception {
        String url = "https://jsonplaceholder.typicode.com/posts";  // JSON API URL

        // HTTP রিকোয়েস্ট তৈরি
        HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("Content-Type", "application/json");

        // রেসপন্স পড়া
        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        // JSON রেসপন্স প্রিন্ট
        System.out.println(response.toString());
    }
}

এখানে, HttpURLConnection ব্যবহার করে JSON API থেকে ডেটা ফেচ করা হয়েছে। API থেকে পাওয়া রেসপন্স BufferedReader দিয়ে পড়া হয়েছে এবং শেষে JSON ডেটা প্রিন্ট করা হয়েছে।


2. OkHttp ব্যবহার করা

OkHttp একটি শক্তিশালী HTTP ক্লায়েন্ট লাইব্রেরি, যা JSON API থেকে ডেটা ফেচ করতে ব্যবহৃত হতে পারে। এটি আরও দ্রুত এবং কার্যকরী।

উদাহরণ:

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class OkHttpJsonFetchExample {
    public static void main(String[] args) throws Exception {
        OkHttpClient client = new OkHttpClient();

        // API URL
        String url = "https://jsonplaceholder.typicode.com/posts";

        // রিকোয়েস্ট তৈরি
        Request request = new Request.Builder().url(url).build();

        // রেসপন্স পাওয়া
        try (Response response = client.newCall(request).execute()) {
            String responseData = response.body().string();
            System.out.println(responseData);  // JSON ডেটা প্রিন্ট
        }
    }
}

এখানে OkHttp লাইব্রেরি ব্যবহার করে JSON API থেকে ডেটা ফেচ করা হয়েছে। Response.body().string() দিয়ে API থেকে পাওয়া JSON ডেটা সংগ্রহ করা হয়েছে।


3. JSoup দিয়ে JSON পার্স করা (যদি JSON HTML এর মধ্যে থাকে)

যদিও JSoup প্রধানত HTML পার্সিংয়ের জন্য ব্যবহৃত হয়, তবে আপনি যদি কোনো HTML ডকুমেন্টে থাকা JSON ডেটাকে এক্সট্র্যাক্ট করতে চান, তাহলে JSoup ব্যবহার করা যেতে পারে।

উদাহরণ:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class JsoupJsonParsingExample {
    public static void main(String[] args) throws Exception {
        String html = "<html><body><script type='application/json'>[{\"id\": 1, \"title\": \"Post 1\"}, {\"id\": 2, \"title\": \"Post 2\"}]</script></body></html>";
        
        // HTML পার্সিং
        Document doc = Jsoup.parse(html);
        
        // JSON ডেটা এক্সট্র্যাক্ট করা
        Elements jsonData = doc.select("script[type=application/json]");
        String json = jsonData.html();
        
        System.out.println(json);  // JSON ডেটা প্রিন্ট
    }
}

এখানে, JSoup ব্যবহার করে একটি HTML ডকুমেন্ট থেকে JSON ডেটা এক্সট্র্যাক্ট করা হয়েছে। এটি তখন JSON ডেটা হিসেবে প্রক্রিয়া করা যেতে পারে।


সারাংশ

JSoup সরাসরি JSON API থেকে ডেটা ফেচ করার জন্য ব্যবহৃত হয় না। তবে, HttpURLConnection বা OkHttp এর মাধ্যমে আপনি JSON API থেকে ডেটা ফেচ করতে পারেন। এর পরে, JSoup ব্যবহার করে যদি HTML ডকুমেন্টে কোনো JSON ডেটা থাকে, সেটি এক্সট্র্যাক্ট করা সম্ভব। JSON ডেটা ফেচ করার জন্য বিভিন্ন HTTP ক্লায়েন্ট লাইব্রেরি যেমন HttpURLConnection বা OkHttp ব্যবহার করা সবচেয়ে উপযুক্ত পদ্ধতি।

Content added By
Promotion

Are you sure to start over?

Loading...