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