JSON.simple একটি Java লাইব্রেরি যা JSON ডেটা প্রসেস এবং প্রোসেসিং এর জন্য ব্যবহার করা হয়। এটি JSON string বা JSON file থেকে ডেটা পার্স (parse) করতে এবং সেটি Java object বা map হিসেবে অ্যাক্সেস করতে সহায়তা করে।
এই নিবন্ধে, আমরা JSON.simple ব্যবহার করে কিভাবে JSON ফাইল বা JSON স্ট্রিং পার্স করা যায় তা দেখবো।
1. JSON.simple লাইব্রেরি অন্তর্ভুক্ত করা
প্রথমে, আপনি যদি Maven ব্যবহার করেন, তাহলে আপনার pom.xml ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করতে হবে:
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version> <!-- অথবা সর্বশেষ সংস্করণ -->
</dependency>
যদি আপনি Maven ব্যবহার না করেন, তবে JSON.simple JAR ফাইল ডাউনলোড করে প্রজেক্টে অন্তর্ভুক্ত করতে হবে।
2. JSON.simple দিয়ে JSON স্ট্রিং পার্স করা
Example: JSON স্ট্রিং পার্স করা
ধরা যাক, আপনার কাছে একটি JSON স্ট্রিং রয়েছে, যা আপনি পার্স করতে চান। JSON স্ট্রিংটিকে Java object বা map হিসেবে পার্স করার জন্য নিচের কোডটি ব্যবহার করতে পারেন:
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class JSONParseExample {
public static void main(String[] args) {
// JSON String
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// Create a JSONParser object
JSONParser parser = new JSONParser();
try {
// Parse the JSON string into a JSONObject
JSONObject jsonObject = (JSONObject) parser.parse(jsonString);
// Retrieve data from the JSON object
String name = (String) jsonObject.get("name");
long age = (long) jsonObject.get("age");
String city = (String) jsonObject.get("city");
// Print the data
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("City: " + city);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Output:
Name: John
Age: 30
City: New York
Explanation:
- JSONParser: এটি JSON স্ট্রিংকে JSONObject-এ পার্স করতে ব্যবহৃত হয়।
- JSONObject: এটি JSON ডেটাকে key-value pairs হিসেবে সংরক্ষণ করে।
- get() Method: JSON object থেকে মান বের করার জন্য get() মেথড ব্যবহার করা হয়।
3. JSON.simple দিয়ে JSON ফাইল পার্স করা
আপনি যদি JSON file থেকে ডেটা পার্স করতে চান, তবে সেই ফাইলটি পড়তে হবে এবং পার্স করতে হবে। নিচে JSON ফাইল পার্স করার একটি উদাহরণ দেওয়া হল।
Example: JSON ফাইল পার্স করা
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import java.io.FileReader;
import java.io.IOException;
public class JSONFileParseExample {
public static void main(String[] args) {
// JSON ফাইল পাথ
String filePath = "path/to/your/file.json";
// Create a JSONParser object
JSONParser parser = new JSONParser();
try {
// FileReader দিয়ে JSON ফাইলটি পড়া
FileReader reader = new FileReader(filePath);
// JSON ফাইল পার্স করা
JSONObject jsonObject = (JSONObject) parser.parse(reader);
// Retrieve data from the JSON object
String name = (String) jsonObject.get("name");
long age = (long) jsonObject.get("age");
String city = (String) jsonObject.get("city");
// Print the data
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("City: " + city);
} catch (IOException | ParseException e) {
e.printStackTrace();
}
}
}
Example JSON File (file.json):
{
"name": "Alice",
"age": 25,
"city": "Los Angeles"
}
Output:
Name: Alice
Age: 25
City: Los Angeles
Explanation:
- FileReader: এটি JSON ফাইলটি পড়তে ব্যবহার করা হয়।
- JSONParser: JSON ডেটাকে JSONObject-এ পার্স করতে ব্যবহৃত হয়।
4. JSON.simple ব্যবহার করে Nested JSON Object এবং JSONArray পার্স করা
JSON.simple দিয়ে আপনি nested JSON objects এবং JSON arrays (যেমন: list বা array) থেকেও ডেটা পার্স করতে পারবেন।
Example: Nested JSON Object এবং JSONArray পার্স করা
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import java.io.FileReader;
import java.io.IOException;
public class NestedJSONParseExample {
public static void main(String[] args) {
// JSON String with Nested Objects and Arrays
String jsonString = "{\"name\":\"John\", \"age\":30, \"address\":{\"street\":\"123 Main St\", \"city\":\"New York\"}, \"phoneNumbers\":[\"123-4567\", \"987-6543\"]}";
// Create a JSONParser object
JSONParser parser = new JSONParser();
try {
// Parse the JSON string into a JSONObject
JSONObject jsonObject = (JSONObject) parser.parse(jsonString);
// Retrieve simple data
String name = (String) jsonObject.get("name");
long age = (long) jsonObject.get("age");
// Retrieve nested JSON object (address)
JSONObject address = (JSONObject) jsonObject.get("address");
String street = (String) address.get("street");
String city = (String) address.get("city");
// Retrieve JSON array (phoneNumbers)
JSONArray phoneNumbers = (JSONArray) jsonObject.get("phoneNumbers");
String phone1 = (String) phoneNumbers.get(0);
String phone2 = (String) phoneNumbers.get(1);
// Print the data
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Street: " + street);
System.out.println("City: " + city);
System.out.println("Phone 1: " + phone1);
System.out.println("Phone 2: " + phone2);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Output:
Name: John
Age: 30
Street: 123 Main St
City: New York
Phone 1: 123-4567
Phone 2: 987-6543
Explanation:
- JSONObject: একটি JSON object যা key-value pairs ধারণ করে।
- JSONArray: একটি JSON array যা values ধারণ করে।
- Nested JSON Object: একটি JSON object এর মধ্যে অন্য একটি JSON object থাকতে পারে।
- JSONArray Access: JSONArray থেকে ডেটা অ্যাক্সেস করতে get(index) মেথড ব্যবহার করা হয়।
JSON.simple একটি শক্তিশালী এবং সহজে ব্যবহৃত লাইব্রেরি যা JSON ডেটাকে পার্স করতে সাহায্য করে। আপনি JSON স্ট্রিং বা JSON ফাইল থেকে ডেটা পার্স করতে পারেন এবং সেই ডেটাকে Java object বা map হিসেবে ব্যবহার করতে পারেন। এর মাধ্যমে আপনি nested JSON objects এবং arrays-এর ডেটা সহজে অ্যাক্সেস করতে পারবেন।
JSON.simple ব্যবহার করার মাধ্যমে, আপনি parse করা JSON ডেটা সহজে retrieve করতে পারবেন এবং তা Java অ্যাপ্লিকেশনের মধ্যে ব্যবহার করতে পারবেন।
Read more