البرمجة

كيفية تحليل JSON في تطبيق Android

لتحليل ال JSON المعروض في تطبيق Android، يمكنك استخدام مكتبة JSON الافتراضية المتوفرة في Android SDK. يمكنك استخدام كائنات JSONObject و JSONArray لفك تحليل ال JSON بدون الحاجة إلى استخدام مجموعات if-else متعددة. فيما يلي كيفية تحليل JSON الذي قدمته بشكل قياسي:

java
try { JSONObject jsonObject = new JSONObject(jsonString); // تحويل النص إلى كائن JSONObject JSONObject infoObject = jsonObject.getJSONObject("Info"); // الحصول على الكائن Info JSONObject deviceInfoObject = infoObject.getJSONObject("DeviceInfo"); // الحصول على الكائن DeviceInfo String version = deviceInfoObject.getString("Version"); // الحصول على قيمة الخاصية Version String imei = deviceInfoObject.getString("IMEI"); // الحصول على قيمة الخاصية IMEI // وهكذا لبقية الخصائص في كائن DeviceInfo JSONObject settingInfoObject = infoObject.getJSONObject("SettingInfo"); // الحصول على الكائن SettingInfo String brightness = settingInfoObject.getString("Brightness"); // الحصول على قيمة الخاصية Brightness String flightMode = settingInfoObject.getString("FlightMode"); // الحصول على قيمة الخاصية FlightMode // وهكذا لبقية الخصائص في كائن SettingInfo // يمكنك تكرار هذه العملية لبقية الكائنات داخل الكائن Info (مثل AdvanceInfo و MemoryInfo) بنفس الطريقة } catch (JSONException e) { e.printStackTrace(); }

بهذه الطريقة، يمكنك الحصول على قيم كافة الخصائص في JSON بدون الحاجة إلى استخدام if-else بشكل متكرر. تذكر أنه يجب استدعاء هذا الكود في موضوع غير رئيسي (main thread) أو استخدام AsyncTask إذا كنت تعمل على عملية طويلة لتجنب تعليق التطبيق.

المزيد من المعلومات

لزيادة الفائدة، يمكنك استخدام مكتبة Gson في تطبيق Android لتحليل ال JSON بشكل أكثر فاعلية. Gson تتيح لك تحويل ال JSON إلى كائنات Java مباشرة بدون الحاجة إلى التعامل مع JSONObject و JSONArray بشكل يدوي. فيما يلي كيفية استخدام Gson لتحليل JSON الذي قدمته:

أولاً، يجب إضافة Gson إلى مشروعك عبر تحديد تبعيات المشروع (dependencies) في ملف build.gradle:

gradle
implementation 'com.google.code.gson:gson:2.8.8'

ثم، يمكنك استخدام Gson لتحليل JSON بسهولة كالتالي:

java
import com.google.gson.Gson; // تعريف كائن Info لتخزين البيانات المحللة من JSON public class Info { private DeviceInfo DeviceInfo; private SettingInfo SettingInfo; private AdvanceInfo AdvanceInfo; private MemoryInfo MemoryInfo; // Getters و Setters لكل خاصية public DeviceInfo getDeviceInfo() { return DeviceInfo; } public void setDeviceInfo(DeviceInfo deviceInfo) { DeviceInfo = deviceInfo; } public SettingInfo getSettingInfo() { return SettingInfo; } public void setSettingInfo(SettingInfo settingInfo) { SettingInfo = settingInfo; } public AdvanceInfo getAdvanceInfo() { return AdvanceInfo; } public void setAdvanceInfo(AdvanceInfo advanceInfo) { AdvanceInfo = advanceInfo; } public MemoryInfo getMemoryInfo() { return MemoryInfo; } public void setMemoryInfo(MemoryInfo memoryInfo) { MemoryInfo = memoryInfo; } } // تعريف كائن DeviceInfo لتخزين البيانات المتعلقة بمعلومات الجهاز public class DeviceInfo { private String Version; private String IMEI; private String IMSI; private String Manufacture; private String Network; private String Root; private String Storage; // Getters و Setters لكل خاصية // ... } // تعريف كائن SettingInfo لتخزين البيانات المتعلقة بإعدادات الجهاز public class SettingInfo { private String Brightness; private String FlightMode; // Getters و Setters لكل خاصية // ... } // تعريف كائن AdvanceInfo لتخزين البيانات المتعلقة بمعلومات متقدمة public class AdvanceInfo { private String PictureCount; private String VideoCount; private String CallIn; private String CallOut; // Getters و Setters لكل خاصية // ... } // تعريف كائن MemoryInfo لتخزين البيانات المتعلقة بمعلومات الذاكرة public class MemoryInfo { private String RAM; private String ReadSpeedInternal; private String WriteSpeedInternal; // Getters و Setters لكل خاصية // ... } // الكود الذي يستخدم Gson لتحليل ال JSON Gson gson = new Gson(); Info info = gson.fromJson(jsonString, Info.class); // الآن يمكنك الوصول إلى جميع البيانات بسهولة، مثلا: String version = info.getDeviceInfo().getVersion(); String brightness = info.getSettingInfo().getBrightness();

باستخدام Gson، يمكنك تحليل ال JSON بشكل أكثر سلاسة وبدون الحاجة إلى كتابة الكثير من الشفرات المعقدة.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!