لتحليل ال JSON المعروض في تطبيق Android، يمكنك استخدام مكتبة JSON الافتراضية المتوفرة في Android SDK. يمكنك استخدام كائنات JSONObject و JSONArray لفك تحليل ال JSON بدون الحاجة إلى استخدام مجموعات if-else متعددة. فيما يلي كيفية تحليل JSON الذي قدمته بشكل قياسي:
javatry {
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 إذا كنت تعمل على عملية طويلة لتجنب تعليق التطبيق.
-
تخصيص العنوان التوضيحي في Matplotlib28/03/2024
-
فهم استخدام تعليمة Switch في جافا23/01/2024
المزيد من المعلومات
لزيادة الفائدة، يمكنك استخدام مكتبة Gson في تطبيق Android لتحليل ال JSON بشكل أكثر فاعلية. Gson تتيح لك تحويل ال JSON إلى كائنات Java مباشرة بدون الحاجة إلى التعامل مع JSONObject و JSONArray بشكل يدوي. فيما يلي كيفية استخدام Gson لتحليل JSON الذي قدمته:
أولاً، يجب إضافة Gson إلى مشروعك عبر تحديد تبعيات المشروع (dependencies) في ملف build.gradle:
gradleimplementation 'com.google.code.gson:gson:2.8.8'
ثم، يمكنك استخدام Gson لتحليل JSON بسهولة كالتالي:
javaimport 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 بشكل أكثر سلاسة وبدون الحاجة إلى كتابة الكثير من الشفرات المعقدة.