JSON Encoding হল প্রক্রিয়া যা Java Objects বা Java data types কে JSON ফরম্যাটে রূপান্তরিত করার জন্য ব্যবহৃত হয়। JSON.simple লাইব্রেরি ব্যবহারে এটি সহজে করা যেতে পারে। এই প্রক্রিয়ায় Java অ্যাপ্লিকেশনের ডেটা একে অপরের মধ্যে JSON স্ট্রিং বা JSON ডেটা স্ট্রাকচারে রূপান্তরিত হয়, যা পরে API বা অন্যান্য সিস্টেমে প্রেরণ করা যায়।
এখানে, JSON Encoding সম্পর্কে আলোচনা করা হবে এবং উদাহরণসহ দেখানো হবে কিভাবে JSON.simple লাইব্রেরি ব্যবহার করে Java Object থেকে JSON স্ট্রিং তৈরি করা যায়।
JSON Encoding: JSON.simple লাইব্রেরি ব্যবহার করে
JSON.simple লাইব্রেরি ব্যবহার করে JSON Encoding করার জন্য মূলত JSONObject ক্লাসটি ব্যবহার করা হয়। এর মাধ্যমে Java Objects বা অন্যান্য ডেটা টেমপ্লেটকে JSON ফরম্যাটে রূপান্তরিত করা হয়।
Steps for JSON Encoding:
- Java Object তৈরি করা: যেকোনো Java Object তৈরি করতে হবে যেটি JSON ফরম্যাটে রূপান্তরিত হবে।
- JSONObject ব্যবহার করা: Java Object এর ডেটা JSON key-value pair হিসেবে সংরক্ষণ করতে
JSONObjectব্যবহার করতে হবে। - JSON Encoding:
put()মেথড দিয়ে key-value পেয়ার যোগ করা এবংtoJSONString()মেথড ব্যবহার করে JSON স্ট্রিং পাওয়া যাবে।
JSON Encoding উদাহরণ
Step 1: Simple Java Object to JSON Encoding Example
ধরা যাক, আমাদের একটি Person অবজেক্ট আছে এবং আমরা এটি JSON ফরম্যাটে রূপান্তর করতে চাই।
import org.json.simple.JSONObject;
public class JsonEncodingExample {
public static void main(String[] args) {
// Step 1: Create a Java object
JSONObject person = new JSONObject();
// Step 2: Put key-value pairs into the JSON object
person.put("name", "John Doe");
person.put("age", 30);
person.put("city", "New York");
// Step 3: Encode Java object into JSON string
String jsonString = person.toJSONString();
// Output the JSON string
System.out.println(jsonString);
}
}
ব্যাখ্যা:
- এখানে,
JSONObjectতৈরি করা হয়েছে এবংput()মেথড দিয়ে তিনটি key-value পেয়ার (যেমন:name,age, এবংcity) JSON অবজেক্টে যোগ করা হয়েছে। toJSONString()মেথড ব্যবহার করে Java Object থেকে JSON স্ট্রিং তৈরি করা হয়েছে।
Output:
{"name":"John Doe","age":30,"city":"New York"}
Step 2: JSON Encoding with Nested Objects Example
ধরা যাক, আমাদের একটি Employee অবজেক্ট আছে যার মধ্যে address (অন্য একটি JSON Object) অন্তর্ভুক্ত রয়েছে। আমরা এই nested JSON Object এর ডেটা JSON ফরম্যাটে রূপান্তর করতে চাই।
import org.json.simple.JSONObject;
public class JsonEncodingNestedExample {
public static void main(String[] args) {
// Create the address JSON object (nested object)
JSONObject address = new JSONObject();
address.put("street", "123 Main St");
address.put("city", "New York");
address.put("zip", "10001");
// Create the employee JSON object
JSONObject employee = new JSONObject();
employee.put("name", "John Doe");
employee.put("age", 30);
employee.put("address", address); // Add the nested address object
// Encode Java object into JSON string
String jsonString = employee.toJSONString();
// Output the JSON string
System.out.println(jsonString);
}
}
ব্যাখ্যা:
- এখানে, একটি address JSON Object তৈরি করা হয়েছে যা street, city, এবং zip এর key-value পেয়ার ধারণ করছে।
- এই address Object-টি employee JSON Object-এ অন্তর্ভুক্ত করা হয়েছে।
Output:
{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"New York","zip":"10001"}}
এখানে address JSON Object employee JSON Object-এর অংশ হিসেবে যুক্ত হয়েছে এবং এটি একটি nested JSON object তৈরি করেছে।
Step 3: JSON Encoding with Arrays Example
ধরা যাক, আমাদের কাছে Product নামক একটি JSON Object আছে এবং এর মধ্যে tags নামে একটি JSON Array রয়েছে। এই tags Array-তে বিভিন্ন পণ্যের ট্যাগগুলো রাখা হবে।
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class JsonEncodingArrayExample {
public static void main(String[] args) {
// Create a JSON array to hold tags
JSONArray tags = new JSONArray();
tags.add("electronics");
tags.add("gadget");
tags.add("new");
// Create the product JSON object
JSONObject product = new JSONObject();
product.put("name", "Smartphone");
product.put("price", 699.99);
product.put("tags", tags); // Add the JSON array
// Encode Java object into JSON string
String jsonString = product.toJSONString();
// Output the JSON string
System.out.println(jsonString);
}
}
ব্যাখ্যা:
- একটি tags নামক JSON Array তৈরি করা হয়েছে যা বিভিন্ন স্ট্রিং ট্যাগ ধারণ করে।
- এই tags array-টি product JSON Object-এর অংশ হিসেবে যুক্ত করা হয়েছে।
Output:
{"name":"Smartphone","price":699.99,"tags":["electronics","gadget","new"]}
এখানে tags একটি JSON Array হিসেবে product JSON Object-এ যুক্ত করা হয়েছে, যা Smartphone পণ্যের বিভিন্ন ট্যাগ ধারণ করছে।
- JSON Encoding হল JSON ডেটা ফরম্যাটে Java Objects বা Java data types রূপান্তরিত করার প্রক্রিয়া।
- JSON.simple লাইব্রেরি ব্যবহার করে Java Object কে সহজেই JSON ফরম্যাটে রূপান্তর করা যায়।
- JSONObject এবং JSONArray ব্যবহার করে আপনি Java Object বা Array কে JSON String-এ কনভার্ট করতে পারেন, যা বিভিন্ন অ্যাপ্লিকেশন বা API এর মাধ্যমে ডেটা এক্সচেঞ্জে ব্যবহৃত হয়।
Read more