JSON.simple লাইব্রেরি ব্যবহার করে JSON Object এবং Array-এ key-based এবং value-based অনুসন্ধান (searching) করা যেতে পারে। এই অনুসন্ধান পদ্ধতিগুলি JSON ডেটা ম্যানিপুলেশন এবং ডেটা অ্যাক্সেসের জন্য অত্যন্ত গুরুত্বপূর্ণ। নিচে key-based এবং value-based অনুসন্ধান টেকনিকের মাধ্যমে JSON Object এবং JSON Array-এ কিভাবে ডেটা অনুসন্ধান করা যায়, তা বিস্তারিতভাবে আলোচনা করা হয়েছে।
১. Key-Based Searching in JSON Object
Key-based searching হল একটি পদ্ধতি যেখানে আপনি একটি নির্দিষ্ট key অনুসন্ধান করেন এবং সেই key এর মান (value) অ্যাক্সেস করেন।
JSON Object এ Key-Based Searching:
ধরা যাক, আমাদের একটি JSON Object রয়েছে এবং আমরা একটি নির্দিষ্ট key-এর জন্য মান খুঁজে বের করতে চাই।
import org.json.simple.JSONObject;
public class KeyBasedSearch {
public static void main(String[] args) {
// Create a JSON Object
JSONObject jsonObject = new JSONObject();
// Adding key-value pairs to the JSONObject
jsonObject.put("name", "John");
jsonObject.put("age", 30);
jsonObject.put("city", "New York");
// Searching for a specific key (e.g., "age")
if (jsonObject.containsKey("age")) {
System.out.println("Value for 'age': " + jsonObject.get("age"));
} else {
System.out.println("Key not found");
}
}
}
Output:
Value for 'age': 30
ব্যাখ্যা:
- এখানে,
jsonObject.containsKey("age")মেথড ব্যবহার করে আমরা "age" নামক key-এর উপস্থিতি পরীক্ষা করছি। - যদি "age" key পাওয়া যায়, তবে
jsonObject.get("age")ব্যবহার করে তার মান (value) প্রিন্ট করা হবে।
২. Value-Based Searching in JSON Object
Value-based searching হল একটি পদ্ধতি যেখানে আপনি একটি নির্দিষ্ট value অনুসন্ধান করেন এবং যেসব key তে সেই value উপস্থিত, সেগুলি বের করতে চান।
JSON Object এ Value-Based Searching:
import org.json.simple.JSONObject;
public class ValueBasedSearch {
public static void main(String[] args) {
// Create a JSON Object
JSONObject jsonObject = new JSONObject();
// Adding key-value pairs to the JSONObject
jsonObject.put("name", "John");
jsonObject.put("age", 30);
jsonObject.put("city", "New York");
// Searching for a specific value (e.g., "John")
boolean valueFound = false;
for (Object key : jsonObject.keySet()) {
if (jsonObject.get(key).equals("John")) {
System.out.println("Found 'John' at key: " + key);
valueFound = true;
break;
}
}
if (!valueFound) {
System.out.println("Value not found");
}
}
}
Output:
Found 'John' at key: name
ব্যাখ্যা:
- এখানে,
jsonObject.keySet()মেথড ব্যবহার করে JSON অবজেক্টের সব key পাওয়া যাচ্ছে এবং তাদের মানের সাথে তুলনা করা হচ্ছে। - যদি কোনো value পাওয়া যায়, তবে তার সাথে সংশ্লিষ্ট key প্রিন্ট করা হয়।
৩. Key-Based Searching in JSON Array
JSON Array তে key নেই, তবে ইনডেক্স অনুযায়ী ডেটা থাকে। JSONArray তে index-based searching করা হয়।
JSON Array এ Key-Based Searching:
ধরা যাক, আমাদের একটি JSON Array রয়েছে এবং আমরা একটি নির্দিষ্ট ইনডেক্স অনুযায়ী মান খুঁজে বের করতে চাই।
import org.json.simple.JSONArray;
public class ArrayKeyBasedSearch {
public static void main(String[] args) {
// Create a JSON Array
JSONArray jsonArray = new JSONArray();
// Adding values to the JSONArray
jsonArray.add("John");
jsonArray.add(30);
jsonArray.add("New York");
// Searching for a value at a specific index (e.g., index 1)
if (jsonArray.size() > 1) {
System.out.println("Value at index 1: " + jsonArray.get(1));
} else {
System.out.println("Index not found");
}
}
}
Output:
Value at index 1: 30
ব্যাখ্যা:
- এখানে,
jsonArray.get(1)ব্যবহার করে আমরা JSON অ্যারের index 1-এ থাকা মান (value) অ্যাক্সেস করেছি।
৪. Value-Based Searching in JSON Array
Value-based searching JSON Array-এ একটি নির্দিষ্ট মান খোঁজা এবং যদি সেটি পাওয়া যায়, তবে সেই মানের ইনডেক্স বা অবস্থান বের করা।
JSON Array এ Value-Based Searching:
import org.json.simple.JSONArray;
public class ArrayValueBasedSearch {
public static void main(String[] args) {
// Create a JSON Array
JSONArray jsonArray = new JSONArray();
// Adding values to the JSONArray
jsonArray.add("John");
jsonArray.add(30);
jsonArray.add("New York");
// Searching for a specific value (e.g., "New York")
int index = -1;
for (int i = 0; i < jsonArray.size(); i++) {
if (jsonArray.get(i).equals("New York")) {
index = i;
break;
}
}
if (index != -1) {
System.out.println("Found 'New York' at index: " + index);
} else {
System.out.println("Value not found");
}
}
}
Output:
Found 'New York' at index: 2
ব্যাখ্যা:
- এখানে,
jsonArray.get(i)ব্যবহার করে অ্যারের প্রতিটি উপাদানের মান পরীক্ষা করা হচ্ছে এবং যদি নির্দিষ্ট মান পাওয়া যায়, তবে তার ইনডেক্স প্রিন্ট করা হয়।
৫. JSON Object এবং JSON Array এর মধ্যে Searching Combined Example
এখানে আমরা একটি উদাহরণ দেখাবো যেখানে JSON Object এবং JSONArray একত্রে ব্যবহার করা হচ্ছে, এবং সেখানে key-based এবং value-based অনুসন্ধান করা হচ্ছে।
Combined Example:
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class CombinedSearchExample {
public static void main(String[] args) {
// Create a JSON Object
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "John");
jsonObject.put("age", 30);
// Create a JSON Array
JSONArray jsonArray = new JSONArray();
jsonArray.add("New York");
jsonArray.add("Los Angeles");
// Add JSON Array to JSON Object
jsonObject.put("cities", jsonArray);
// Key-Based Search in JSON Object
if (jsonObject.containsKey("name")) {
System.out.println("Name found: " + jsonObject.get("name"));
}
// Value-Based Search in JSON Array
boolean cityFound = false;
for (int i = 0; i < jsonArray.size(); i++) {
if (jsonArray.get(i).equals("New York")) {
System.out.println("Found 'New York' at index: " + i);
cityFound = true;
break;
}
}
if (!cityFound) {
System.out.println("City not found in the array");
}
}
}
Output:
Name found: John
Found 'New York' at index: 0
ব্যাখ্যা:
- JSON Object এর মধ্যে "name" key খোঁজা হয়েছে এবং যদি পাওয়া যায়, তার মান print করা হয়েছে।
- JSONArray তে "New York" city খোঁজা হয়েছে এবং তার ইনডেক্স প্রিন্ট করা হয়েছে।
- Key-Based Searching: JSON Object বা Array-এ নির্দিষ্ট key বা index অনুসন্ধান করার জন্য সরাসরি containsKey বা get মেথড ব্যবহার করা হয়।
- Value-Based Searching: JSON Object বা Array-এ নির্দিষ্ট value খুঁজে বের করতে loop ব্যবহার করা হয়, যেখানে সমস্ত key-value পেয়ার বা অ্যারে উপাদান পরীক্ষা করা হয়।
JSON.simple লাইব্রেরি ব্যবহার করে আপনি সহজেই key-based এবং value-based অনুসন্ধান করতে পারেন, যা JSON ডেটা ম্যানিপুলেশন এবং অ্যাক্সেস করার জন্য খুবই গুরুত্বপূর্ণ।
Read more