Skill

Org.JSON এর মাধ্যমে API ডেটা প্রসেসিং

অর্গ.জেসন (Org.Json) - Java Technologies

254

Org.JSON লাইব্রেরি Java-তে JSON ডেটা প্রসেসিং এবং ম্যানিপুলেশন করতে ব্যবহৃত হয়, যা API থেকে আসা JSON ডেটা প্রসেস করার জন্য খুবই উপকারী। API রেসপন্স সাধারণত JSON ফরম্যাটে থাকে, এবং Org.JSON লাইব্রেরির সাহায্যে Java অ্যাপ্লিকেশনগুলিতে JSON ডেটা এক্সট্র্যাক্ট, ম্যানিপুলেট এবং ভ্যালিডেট করা যায়।

এখানে, আমরা একটি উদাহরণ দেখব যেখানে API থেকে প্রাপ্ত JSON ডেটাকে Org.JSON লাইব্রেরি ব্যবহার করে প্রসেস করা হবে।

API ডেটা প্রসেসিং এর জন্য সাধারণ পদক্ষেপ

  1. API থেকে JSON ডেটা সংগ্রহ করা: API কল করে JSON ডেটা নেওয়া।
  2. JSON ডেটা পার্স করা: প্রাপ্ত JSON ডেটাকে JSONObject বা JSONArray অবজেক্টে রূপান্তর করা।
  3. JSON ডেটা প্রসেস করা: JSON ডেটা থেকে নির্দিষ্ট তথ্য বের করা এবং প্রয়োজন অনুযায়ী ম্যানিপুলেশন করা।
  4. JSON ডেটা রিটার্ন করা: প্রসেস করা JSON ডেটা আবার API রেসপন্স হিসেবে ফিরিয়ে দেওয়া বা অন্য কোথাও ব্যবহার করা।

উদাহরণ: API থেকে JSON ডেটা সংগ্রহ এবং প্রসেসিং

ধরা যাক, আমাদের একটি API রয়েছে যা {"name": "John", "age": 30, "city": "New York"} এই রকম JSON রেসপন্স প্রদান করে। আমরা এই JSON ডেটা প্রসেস করব এবং name এবং city ফিল্ড এক্সট্র্যাক্ট করব।

স্টেপ ১: API কল করা এবং JSON ডেটা সংগ্রহ

এখানে HttpURLConnection ব্যবহার করে API থেকে JSON ডেটা সংগ্রহ করা হয়েছে।

import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ApiDataProcessingExample {
    public static void main(String[] args) {
        try {
            // API URL
            String apiUrl = "https://api.example.com/data";

            // URL অবজেক্ট তৈরি
            URL url = new URL(apiUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setRequestProperty("Content-Type", "application/json");

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

            // রেসপন্স JSON ফরম্যাটে পার্স করা
            JSONObject jsonResponse = new JSONObject(response.toString());

            // JSON ডেটা প্রসেস করা
            String name = jsonResponse.getString("name");
            String city = jsonResponse.getString("city");

            // ফলাফল প্রিন্ট করা
            System.out.println("Name: " + name);
            System.out.println("City: " + city);

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

কোড ব্যাখ্যা:

  1. API URL: API থেকে ডেটা আনার জন্য URL উল্লেখ করা হয়েছে।
  2. HttpURLConnection: HttpURLConnection ব্যবহার করে API এ GET রিকোয়েস্ট পাঠানো হয়েছে।
  3. BufferedReader: API রেসপন্স রিড করার জন্য BufferedReader ব্যবহার করা হয়েছে।
  4. JSONObject: রেসপন্স JSON স্ট্রিং থেকে JSONObject অবজেক্টে রূপান্তর করা হয়েছে।
  5. getString(): JSONObject.getString("key") মেথড ব্যবহার করে JSON অবজেক্ট থেকে কীগুলোর মান এক্সট্র্যাক্ট করা হয়েছে।
  6. ফলাফল প্রিন্ট: name এবং city কীগুলোর মান প্রিন্ট করা হয়েছে।

আউটপুট:

Name: John
City: New York

উদাহরণ: JSON ডেটা ম্যানিপুলেশন

ধরা যাক, API থেকে একটি জটিল JSON অবজেক্ট এসেছে এবং আমরা এতে কিছু পরিবর্তন করতে চাই, যেমন নতুন তথ্য যোগ করা বা কোনো ভ্যালু আপডেট করা।

JSON ডেটা ম্যানিপুলেশন উদাহরণ:

import org.json.JSONObject;

public class JsonManipulationExample {
    public static void main(String[] args) {
        // একটি JSON অবজেক্ট তৈরি
        String jsonString = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }";
        JSONObject jsonObject = new JSONObject(jsonString);

        // নতুন তথ্য যোগ করা
        jsonObject.put("email", "john@example.com");

        // একটি বিদ্যমান মান পরিবর্তন করা
        jsonObject.put("city", "Los Angeles");

        // JSON অবজেক্টে কোনো মান এক্সট্র্যাক্ট করা
        String name = jsonObject.getString("name");
        String city = jsonObject.getString("city");

        // পরিবর্তিত JSON অবজেক্ট প্রিন্ট করা
        System.out.println(jsonObject.toString(4));  // Pretty Print
        System.out.println("Updated City: " + city);
    }
}

আউটপুট:

{
    "name": "John",
    "age": 30,
    "city": "Los Angeles",
    "email": "john@example.com"
}
Updated City: Los Angeles

কোড ব্যাখ্যা:

  1. JSON অবজেক্ট তৈরি: JSON স্ট্রিং থেকে একটি JSONObject তৈরি করা হয়েছে।
  2. put() মেথড: put() মেথড দিয়ে নতুন কিপেয়ার-ভ্যালু যোগ করা হয়েছে এবং city কীর মান আপডেট করা হয়েছে।
  3. toString(4): toString(4) ব্যবহার করে JSON অবজেক্টটি ফরম্যাটেড আউটপুট হিসেবে প্রিন্ট করা হয়েছে।
  4. getString(): city কীর মান এক্সট্র্যাক্ট করা হয়েছে।

API রেসপন্সের JSON Array প্রসেসিং

যদি API থেকে JSONArray আকারে ডেটা আসে, তাহলে আমরা JSON অ্যারে প্রসেস করবো। এখানে একটি উদাহরণ দেওয়া হলো, যেখানে JSONArray থেকে ডেটা এক্সট্র্যাক্ট করা হবে।

উদাহরণ: JSONArray প্রসেসিং

import org.json.JSONArray;

public class JsonArrayProcessingExample {
    public static void main(String[] args) {
        // JSON অ্যারে তৈরি
        String jsonArrayString = "[\"Apple\", \"Banana\", \"Orange\"]";
        JSONArray jsonArray = new JSONArray(jsonArrayString);

        // JSONArray এর মধ্যে ডেটা এক্সট্র্যাক্ট করা
        for (int i = 0; i < jsonArray.length(); i++) {
            String fruit = jsonArray.getString(i);
            System.out.println("Fruit " + (i + 1) + ": " + fruit);
        }
    }
}

আউটপুট:

Fruit 1: Apple
Fruit 2: Banana
Fruit 3: Orange

সারাংশ

Org.JSON লাইব্রেরি Java-তে API ডেটা প্রসেস করার জন্য একটি শক্তিশালী টুল। JSON অবজেক্ট এবং অ্যারে প্রসেস করতে JSONObject এবং JSONArray ব্যবহার করা হয়, যার মাধ্যমে ডেটা এক্সট্র্যাক্ট, ম্যানিপুলেট, এবং অ্যাড করা যায়। এটি API রেসপন্স পার্সিং এবং JSON ডেটার ব্যবহারের জন্য খুবই কার্যকরী। API থেকে JSON ডেটা সংগ্রহ এবং সেগুলিকে প্রসেস করার জন্য Org.JSON লাইব্রেরি একটি সহজ এবং দ্রুত সমাধান প্রদান করে।


Content added By

Java-তে REST API থেকে JSON ডেটা ফেচ করার জন্য সাধারণত HttpURLConnection বা কোনো HTTP ক্লায়েন্ট লাইব্রেরি ব্যবহার করা হয়। এই প্রক্রিয়ায়, REST API থেকে JSON রেসপন্স প্রাপ্ত হওয়ার পর তা JSONObject বা JSONArray এর মাধ্যমে পার্স করা হয়।

অর্গ.জেসন (Org.Json) লাইব্রেরি ব্যবহার করে REST API থেকে প্রাপ্ত JSON ডেটা ম্যানিপুলেট করা সহজ। এখানে আমরা দেখবো কিভাবে Java-তে একটি REST API কল করা হয় এবং JSON ডেটা ফেচ করা হয় এবং তা JSONObject তে পরিণত করা হয়।

REST API থেকে JSON ডেটা ফেচ করার প্রাথমিক ধাপ

  1. HTTP রিকোয়েস্ট পাঠানো: Java-তে HttpURLConnection ব্যবহার করে একটি GET রিকোয়েস্ট পাঠানো হয়।
  2. JSON ডেটা রেসপন্স হিসেবে পাওয়া: API থেকে JSON ডেটা প্রাপ্ত হয়।
  3. JSON ডেটা পার্স করা: JSON ডেটা JSONObject বা JSONArray এর মাধ্যমে পার্স করা হয়।

উদাহরণ: REST API থেকে JSON ডেটা ফেচ করা

এখানে একটি উদাহরণ দেখানো হচ্ছে যেখানে আমরা একটি পাবলিক API (যেমন JSONPlaceholder) থেকে JSON ডেটা ফেচ করছি।

১. HttpURLConnection ব্যবহার করে REST API কল করা

import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class FetchJsonFromApi {
    public static void main(String[] args) {
        try {
            // API URL
            String url = "https://jsonplaceholder.typicode.com/users/1";

            // HttpURLConnection তৈরি
            HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
            connection.setRequestMethod("GET"); // GET রিকোয়েস্ট

            // রেসপন্স কোড চেক করা
            int responseCode = connection.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) { // 200 OK
                // ইনপুট স্ট্রিম থেকে JSON ডেটা পড়া
                BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String inputLine;
                StringBuilder response = new StringBuilder();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();

                // JSON ডেটা পার্স করা
                JSONObject jsonResponse = new JSONObject(response.toString());

                // JSON ডেটার মান এক্সট্র্যাক্ট করা
                System.out.println("User ID: " + jsonResponse.getInt("id"));
                System.out.println("User Name: " + jsonResponse.getString("name"));
                System.out.println("User Email: " + jsonResponse.getString("email"));
                System.out.println("User Address: " + jsonResponse.getJSONObject("address").getString("street"));

            } else {
                System.out.println("GET request failed");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোড ব্যাখ্যা

  1. URL URL("https://jsonplaceholder.typicode.com/users/1")
    এটি সেই API URL, যেখানে আমরা ডেটা ফেচ করতে যাচ্ছি।
  2. HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
    এখানে, HttpURLConnection অবজেক্ট তৈরি করা হচ্ছে যা HTTP GET রিকোয়েস্ট পাঠানোর জন্য ব্যবহৃত হয়।
  3. connection.setRequestMethod("GET");
    এটি GET রিকোয়েস্ট পাঠানোর জন্য নির্দেশ দেয়।
  4. BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    API থেকে রেসপন্স হিসেবে পাওয়া JSON ডেটা ইনপুট স্ট্রিমের মাধ্যমে পড়ে নেওয়া হয়।
  5. JSONObject jsonResponse = new JSONObject(response.toString());
    JSON রেসপন্সকে JSONObject অবজেক্টে রূপান্তরিত করা হয়।
  6. jsonResponse.getString("name");
    JSON অবজেক্ট থেকে নাম, ইমেইল, আইডি, অ্যাড্রেস ইত্যাদি এক্সট্র্যাক্ট করা হয়।

JSONPlaceholder API উদাহরণ

এই কোডের মাধ্যমে আমরা https://jsonplaceholder.typicode.com/users/1 API থেকে একটি ইউজারের ডেটা ফেচ করছি। API রেসপন্স এমন কিছু হতে পারে:

{
  "id": 1,
  "name": "Leanne Graham",
  "username": "Bret",
  "email": "Sincere@april.biz",
  "address": {
    "street": "Kulas Light",
    "suite": "Apt. 556",
    "city": "Gwenborough",
    "zipcode": "92998-3874",
    "geo": {
      "lat": "-37.3159",
      "lng": "81.1496"
    }
  }
}

এখানে, name, id, email, এবং address থেকে ডেটা এক্সট্র্যাক্ট করা হয়েছে।

সারাংশ

এই উদাহরণে, আমরা দেখেছি কিভাবে Java-তে HttpURLConnection ব্যবহার করে একটি REST API থেকে JSON ডেটা ফেচ করা যায় এবং তা JSONObject তে পরিণত করা হয়। একবার JSON ডেটা পার্স করার পর, আপনি JSON এর মধ্যে থাকা বিভিন্ন মান এবং অবজেক্ট সহজেই অ্যাক্সেস করতে পারবেন। এটি আপনাকে REST API থেকে ডেটা ফেচ এবং প্রসেস করার জন্য একটি কার্যকরী পদ্ধতি প্রদান করে।

Content added By

JSON Response সাধারণত ওয়েব সার্ভিস বা API থেকে পাওয়া ডেটা হয়, যা JSON ফরম্যাটে থাকে। Java-তে JSON ডেটা পার্স এবং ম্যানেজ করতে org.json লাইব্রেরি ব্যবহৃত হয়। এটি আপনাকে সহজভাবে JSON ডেটা পার্স করতে, সেটি ম্যানিপুলেট করতে এবং তার উপর অপারেশন করতে সহায়তা করে। বিশেষত ওয়েব API রেসপন্স থেকে JSON ডেটা এক্সট্র্যাক্ট করা এবং ম্যানেজ করা একটি সাধারণ কাজ।

JSON Response পার্স করার প্রক্রিয়া

ধরা যাক, একটি API থেকে JSON রেসপন্স পাওয়া গেছে এবং এখন সেটি Java-তে পার্স করতে হবে। আপনি JSONObject অথবা JSONArray ব্যবহার করে JSON ডেটা এক্সট্র্যাক্ট করতে পারেন।

উদাহরণ: JSON Response পার্স করা

ধরি, API থেকে একটি JSON রেসপন্স পাওয়া গেছে যা নিচে দেওয়া আছেঃ

{
  "status": "success",
  "data": {
    "name": "John Doe",
    "age": 30,
    "city": "New York"
  }
}

এখন আমরা এই JSON রেসপন্সটিকে Java-তে পার্স করব এবং প্রয়োজনীয় ডেটা এক্সট্র্যাক্ট করব।

কোড উদাহরণ:

import org.json.JSONObject;

public class JSONResponseExample {
    public static void main(String[] args) {
        // উদাহরণস্বরূপ JSON রেসপন্স (API থেকে পাওয়া JSON রেসপন্স)
        String jsonResponse = "{\"status\":\"success\",\"data\":{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}}";

        // JSON স্ট্রিংকে JSONObject এ রূপান্তর করা
        JSONObject responseObject = new JSONObject(jsonResponse);

        // JSON রেসপন্স থেকে স্ট্যাটাস এক্সট্র্যাক্ট করা
        String status = responseObject.getString("status");
        System.out.println("Status: " + status);

        // 'data' অবজেক্ট এক্সট্র্যাক্ট করা
        JSONObject dataObject = responseObject.getJSONObject("data");

        // 'data' অবজেক্ট থেকে নাম, বয়স এবং শহর এক্সট্র্যাক্ট করা
        String name = dataObject.getString("name");
        int age = dataObject.getInt("age");
        String city = dataObject.getString("city");

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

আউটপুট:

Status: success
Name: John Doe
Age: 30
City: New York

কোড ব্যাখ্যা

  1. JSON Response String: এখানে একটি JSON রেসপন্স স্ট্রিং jsonResponse দেওয়া হয়েছে। সাধারণত এই JSON ডেটা API থেকে পাওয়া যায়।
  2. JSONObject: new JSONObject(jsonResponse) দ্বারা JSON স্ট্রিংটিকে JSONObject অবজেক্টে রূপান্তর করা হয়েছে।
  3. getString(): getString("status") দ্বারা স্ট্যাটাস (যেমন "success") এক্সট্র্যাক্ট করা হয়েছে।
  4. getJSONObject(): getJSONObject("data") দ্বারা data অবজেক্ট এক্সট্র্যাক্ট করা হয়েছে।
  5. getInt() এবং getString(): getInt("age") এবং getString("name", "city") দ্বারা data অবজেক্ট থেকে নাম, বয়স এবং শহর এক্সট্র্যাক্ট করা হয়েছে।

JSON ডেটা ম্যানেজমেন্ট

JSON ডেটা ম্যানেজমেন্টের মাধ্যমে আপনি JSON ডেটাকে বিভিন্ন ভাবে পরিবর্তন, যোগ, মুছে ফেলতে পারবেন। নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে JSON ডেটাকে ম্যানিপুলেট করা যায়।

JSON Response ম্যানিপুলেশন উদাহরণ

import org.json.JSONObject;

public class JSONManipulationExample {
    public static void main(String[] args) {
        // JSON অবজেক্ট তৈরি
        JSONObject responseObject = new JSONObject();

        // স্ট্যাটাস এবং ডেটা যুক্ত করা
        responseObject.put("status", "success");

        // 'data' অবজেক্ট তৈরি
        JSONObject dataObject = new JSONObject();
        dataObject.put("name", "John Doe");
        dataObject.put("age", 30);
        dataObject.put("city", "New York");

        // 'data' অবজেক্টকে মূল JSON অবজেক্টে যোগ করা
        responseObject.put("data", dataObject);

        // JSON অবজেক্ট প্রিন্ট করা
        System.out.println("Original JSON Response: " + responseObject.toString(4));

        // JSON ডেটার কিছু পরিবর্তন
        responseObject.put("status", "failed");  // স্ট্যাটাস পরিবর্তন
        dataObject.put("age", 31);  // বয়স পরিবর্তন
        dataObject.put("city", "Los Angeles"); // শহর পরিবর্তন

        // পরিবর্তিত JSON অবজেক্ট প্রিন্ট করা
        System.out.println("\nUpdated JSON Response: " + responseObject.toString(4));
    }
}

আউটপুট:

Original JSON Response: 
{
    "status": "success",
    "data": {
        "name": "John Doe",
        "age": 30,
        "city": "New York"
    }
}

Updated JSON Response: 
{
    "status": "failed",
    "data": {
        "name": "John Doe",
        "age": 31,
        "city": "Los Angeles"
    }
}

কোড ব্যাখ্যা

  1. put() মেথড: responseObject.put("status", "success") এবং dataObject.put("name", "John Doe") এর মাধ্যমে JSON অবজেক্টে ডেটা যোগ করা হয়েছে।
  2. ডেটা ম্যানিপুলেশন: JSON ডেটা ম্যানিপুলেশন করতে put() মেথড ব্যবহার করা হয়েছে, যেমন স্ট্যাটাস পরিবর্তন, বয়স এবং শহরের মান পরিবর্তন করা।
  3. toString(4): toString(4) মেথডের মাধ্যমে JSON ডেটাকে ফরম্যাটেড (pretty print) আউটপুট আনা হয়েছে।

JSON Response ম্যানেজমেন্টের মূল পদ্ধতি

  1. ডেটা এক্সট্র্যাক্ট:
    • getString("key"): স্ট্রিং টাইপের মান এক্সট্র্যাক্ট করতে।
    • getInt("key"): ইন্টিজার টাইপের মান এক্সট্র্যাক্ট করতে।
    • getJSONObject("key"): অন্য একটি JSON অবজেক্ট এক্সট্র্যাক্ট করতে।
    • getJSONArray("key"): JSON অ্যারে এক্সট্র্যাক্ট করতে।
  2. ডেটা আপডেট বা যোগ করা:
    • put("key", value): নতুন কীগুলোর মান সেট করতে বা পুরানো কীগুলোর মান আপডেট করতে।
  3. ডেটা মুছে ফেলা:
    • remove("key"): JSON অবজেক্ট থেকে একটি কিই বা মান মুছে ফেলতে।

সারাংশ

Java-তে JSON রেসপন্স পার্স এবং ম্যানেজ করার জন্য org.json লাইব্রেরি খুবই কার্যকরী। JSONObject এবং JSONArray এর মাধ্যমে আপনি সহজে JSON ডেটা এক্সট্র্যাক্ট, পরিবর্তন এবং ম্যানিপুলেট করতে পারেন। এই লাইব্রেরি API রেসপন্স বা JSON ডেটাবেস থেকে ডেটা প্রসেস করতে অনেক সুবিধা প্রদান করে, যা ডেভেলপারদের দ্রুত এবং কার্যকরীভাবে JSON ডেটা ম্যানেজ করতে সাহায্য করে।

Content added By

org.json লাইব্রেরি JSON ডেটা প্রসেসিংয়ের জন্য একটি শক্তিশালী টুলসেট প্রদান করে, যা আপনাকে API থেকে প্রাপ্ত JSON ডেটা খুব সহজে পার্স এবং ম্যানিপুলেট করতে সাহায্য করে। API রেসপন্স সাধারণত JSON ফরম্যাটে হয়, এবং এই JSON ডেটা অ্যাপ্লিকেশন, ওয়েব সার্ভিস অথবা অন্য কোনো ডেটা সোর্স থেকে আসে।

এখানে একটি উদাহরণ দেওয়া হলো, যেখানে API থেকে JSON ডেটা এনে সেটি পার্স করা হচ্ছে এবং তারপর সেই ডেটার মধ্যে থেকে নির্দিষ্ট তথ্য বের করা হচ্ছে।

API থেকে JSON ডেটা সংগ্রহ এবং প্রসেসিং

API থেকে JSON ডেটা সংগ্রহ এবং প্রসেস করার জন্য আমরা সাধারণত HTTP অনুরোধ (GET, POST ইত্যাদি) পাঠাই এবং তারপরে প্রাপ্ত JSON ডেটা পার্স করি। এখানে আমরা HttpURLConnection ব্যবহার করব API থেকে ডেটা আনার জন্য এবং org.json.JSONObject ব্যবহার করব JSON ডেটা প্রসেস করার জন্য।

উদাহরণ: API থেকে JSON ডেটা প্রসেস করা

এখানে একটি উদাহরণ দেওয়া হয়েছে যেখানে API থেকে JSON ডেটা GET অনুরোধ করে আনা হচ্ছে এবং তারপর সেটি JSONObject ব্যবহার করে প্রসেস করা হচ্ছে।

কোড উদাহরণ:

import org.json.JSONObject;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class APIFetchExample {
    public static void main(String[] args) {
        try {
            // API URL
            String urlString = "https://jsonplaceholder.typicode.com/todos/1";  // উদাহরণস্বরূপ একটি পাবলিক API

            // URL তৈরি করা
            URL url = new URL(urlString);

            // HTTP GET অনুরোধ তৈরি
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5000);  // 5 সেকেন্ডের মধ্যে সংযোগ টাইমআউট
            connection.setReadTimeout(5000);  // 5 সেকেন্ডের মধ্যে ডেটা পাঠানোর জন্য টাইমআউট

            // API থেকে রেসপন্স পড়া
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            // API রেসপন্স স্ট্রিং
            String jsonResponse = response.toString();

            // JSON ডেটা পার্স করা
            JSONObject jsonObject = new JSONObject(jsonResponse);

            // JSON অবজেক্ট থেকে ডেটা এক্সট্র্যাক্ট করা
            int userId = jsonObject.getInt("userId");
            int id = jsonObject.getInt("id");
            String title = jsonObject.getString("title");
            boolean completed = jsonObject.getBoolean("completed");

            // প্রাপ্ত ডেটা প্রিন্ট করা
            System.out.println("User ID: " + userId);
            System.out.println("ID: " + id);
            System.out.println("Title: " + title);
            System.out.println("Completed: " + completed);

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

কোড ব্যাখ্যা:

  1. HttpURLConnection: এই ক্লাসটি API থেকে HTTP অনুরোধ পাঠানোর জন্য ব্যবহৃত হয়। এখানে আমরা একটি GET অনুরোধ ব্যবহার করেছি।
  2. BufferedReader: এটি HTTP রেসপন্স পাঠানোর জন্য ব্যবহৃত হয়, যাতে API রেসপন্সে আসা JSON ডেটাকে এক লাইনে পড়ে স্ট্রিং হিসেবে সংগ্রহ করা যায়।
  3. JSONObject: org.json.JSONObject ক্লাসটি ব্যবহার করে আমরা JSON ডেটা পার্স করেছি এবং তার থেকে বিভিন্ন কীগুলোর মান বের করেছি যেমন userId, id, title, এবং completed
  4. API রেসপন্স: উদাহরণস্বরূপ, আমরা https://jsonplaceholder.typicode.com/todos/1 URL ব্যবহার করেছি, যা একটি পাবলিক API প্রদান করে এবং একটি JSON অবজেক্ট রিটার্ন করে।

আউটপুট:

যদি আপনি কোডটি চালান, তাহলে আপনি পাবেন:

User ID: 1
ID: 1
Title: delectus aut autem
Completed: false

JSON ডেটা উদাহরণ (API থেকে প্রাপ্ত):

{
    "userId": 1,
    "id": 1,
    "title": "delectus aut autem",
    "completed": false
}

সারাংশ:

  • API থেকে JSON ডেটা সংগ্রহ: HTTP অনুরোধ ব্যবহার করে API থেকে JSON ডেটা আনা হয়েছে।
  • JSON ডেটা পার্সিং: JSONObject ব্যবহার করে JSON স্ট্রিং থেকে ডেটা এক্সট্র্যাক্ট করা হয়েছে।
  • JSON ডেটা প্রসেসিং: API থেকে প্রাপ্ত JSON ডেটা ব্যবহার করে বিভিন্ন ফিল্ড যেমন userId, id, title, এবং completed এক্সট্র্যাক্ট করা হয়েছে।

এভাবে org.json লাইব্রেরি ব্যবহার করে Java-তে API ডেটা খুব সহজেই সংগ্রহ, পার্স, এবং প্রসেস করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...