Boon লাইব্রেরি ব্যবহার করে Complex JSON Structure থেকে ডেটা এক্সট্র্যাক্ট করা সহজ ও কার্যকরী হতে পারে। Boon একটি দ্রুত JSON পার্সিং লাইব্রেরি যা সহজেই JSON ডেটা ম্যানিপুলেট এবং এক্সট্র্যাক্ট করতে সাহায্য করে। এখানে দেখানো হবে কীভাবে Boon ব্যবহার করে কমপ্লেক্স JSON স্ট্রাকচার থেকে ডেটা এক্সট্র্যাক্ট করা যায়।
Boon দিয়ে Complex JSON Structure থেকে ডেটা এক্সট্র্যাক্ট করা
1. JSON ডেটার স্ট্রাকচার
ধরা যাক, আমাদের কাছে একটি কমপ্লেক্স JSON ডেটা আছে, যা ভিন্ন ভিন্ন লেভেলে তথ্য ধারণ করে। যেমন:
{
"user": {
"id": 123,
"name": "John Doe",
"address": {
"street": "123 Main St",
"city": "New York",
"postalCode": "10001"
},
"contact": [
{
"type": "email",
"value": "johndoe@example.com"
},
{
"type": "phone",
"value": "+1234567890"
}
]
}
}
এখানে একটি কমপ্লেক্স JSON স্ট্রাকচার রয়েছে, যা user অবজেক্ট, address অবজেক্ট, এবং contact অ্যারে ধারণ করে।
2. Boon দিয়ে JSON ডেটা পার্স করা
Boon লাইব্রেরি ব্যবহার করে উপরের JSON ডেটা থেকে নির্দিষ্ট তথ্য এক্সট্র্যাক্ট করা যেতে পারে। Boon লাইব্রেরির JsonMapper ব্যবহার করে JSON ডেটাকে পার্স করা যায়।
import org.boon.json.JsonFactory;
import org.boon.json.JsonMapper;
public class BoonJsonExample {
public static void main(String[] args) {
String json = "{\n" +
" \"user\": {\n" +
" \"id\": 123,\n" +
" \"name\": \"John Doe\",\n" +
" \"address\": {\n" +
" \"street\": \"123 Main St\",\n" +
" \"city\": \"New York\",\n" +
" \"postalCode\": \"10001\"\n" +
" },\n" +
" \"contact\": [\n" +
" {\n" +
" \"type\": \"email\",\n" +
" \"value\": \"johndoe@example.com\"\n" +
" },\n" +
" {\n" +
" \"type\": \"phone\",\n" +
" \"value\": \"+1234567890\"\n" +
" }\n" +
" ]\n" +
" }\n" +
"}";
JsonMapper mapper = JsonFactory.create();
Object user = mapper.readValue(json);
// Extracting data using key names
Object userObject = mapper.getValue(user, "user");
String name = mapper.getValue(userObject, "name");
String street = mapper.getValue(userObject, "address.street");
String phone = mapper.getValue(userObject, "contact[1].value");
System.out.println("Name: " + name);
System.out.println("Street: " + street);
System.out.println("Phone: " + phone);
}
}
3. এক্সট্র্যাক্টেড ডেটা
উপরে দেওয়া কোডটি JSON স্ট্রাকচার থেকে name, street, এবং phone তথ্য এক্সট্র্যাক্ট করবে। আউটপুট হবে:
Name: John Doe
Street: 123 Main St
Phone: +1234567890
এখানে, Boon লাইব্রেরি ব্যবহার করে mapper.getValue() মেথডের মাধ্যমে JSON অবজেক্ট থেকে নির্দিষ্ট ডেটা এক্সট্র্যাক্ট করা হয়েছে। address.street এবং contact[1].value কিভাবে Nested অবজেক্ট এবং অ্যারে থেকে ডেটা এক্সট্র্যাক্ট করা হয়েছে, তা দেখা যাচ্ছে।
Boon দিয়ে Complex JSON Structure থেকে এক্সট্র্যাক্ট করার কিছু গুরুত্বপূর্ণ টিপস:
1. অ্যারে ডেটা এক্সট্র্যাক্ট করা
যদি JSON স্ট্রাকচারের মধ্যে অ্যারে থাকে, তবে Boon লাইব্রেরি ব্যবহার করে অ্যারের নির্দিষ্ট ইনডেক্স থেকে ডেটা এক্সট্র্যাক্ট করা যায়। যেমন:
String phone = mapper.getValue(userObject, "contact[0].value");
এখানে, contact[0].value দ্বারা প্রথম কন্টাক্টের ফোন নম্বর এক্সট্র্যাক্ট করা হয়েছে।
2. Nested অবজেক্টের ডেটা এক্সট্র্যাক্ট করা
নেস্টেড অবজেক্ট থেকে ডেটা এক্সট্র্যাক্ট করার জন্য ডট (.) ব্যবহার করা হয়:
String city = mapper.getValue(userObject, "address.city");
এখানে address.city দ্বারা address অবজেক্টের city প্রপার্টি এক্সট্র্যাক্ট করা হয়েছে।
3. Optional Key Handling
JSON ডেটার মধ্যে যদি কোনও কিওয়ার্ড অনুপস্থিত থাকে, তবে Boon লাইব্রেরি সেই কিওয়ার্ডের জন্য null রিটার্ন করে। অতএব, null চেক করা উচিত, বিশেষ করে যখন আপনি জানেন না যে কোনও কিওয়ার্ড JSON এ থাকবে কিনা।
String email = mapper.getValue(userObject, "contact[0].value");
if (email != null) {
System.out.println("Email: " + email);
}
সারাংশ
Boon লাইব্রেরি ব্যবহার করে Complex JSON Structure থেকে ডেটা এক্সট্র্যাক্ট করা অত্যন্ত সহজ এবং দ্রুত। JsonMapper এবং getValue() মেথড ব্যবহার করে আপনি JSON ডেটা থেকে নির্দিষ্ট কিওয়ার্ডের মান খুব সহজে পেতে পারেন, এমনকি যখন JSON স্ট্রাকচার নেস্টেড বা অ্যারে অন্তর্ভুক্ত থাকে। Boon এর দ্রুত পার্সিং ক্ষমতা এবং সুবিধাজনক API JSON ডেটা ম্যানিপুলেশনকে অনেক সহজ এবং কার্যকরী করে তোলে।