تحليل JSON في Java: من المبتدئ إلى المحترف في 20 دقيقة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

تحليل JSON في Java: من الصفر إلى كود يعمل

\n\n

هل سبق لك أن نظرت إلى استجابة JSON من API وشعرت بذعر خفيف؟ "كيف أستخرج name من هنا؟ وماذا أفعل بهذا الكائن المتداخل؟" — أسئلة مألوفة، أليس كذلك؟ لا تقلق، أنت لست وحدك. موضوع "How to parse JSON in Java" هو أحد أكثر الاستعلامات شيوعًا على Stack Overflow، واليوم سنغلق هذا الموضوع نهائيًا.

\n\n

JSON (JavaScript Object Notation) هو تنسيق قياسي لتبادل البيانات. تقريبًا كل خدمة حديثة — من الطقس إلى أسعار الأسهم — ترسل البيانات بصيغة JSON. القدرة على تحليله بشكل صحيح هي مهارة أساسية لمطور Java. لن نقرأ مواصفات مملة. بدلاً من ذلك، سنأخذ المكتبات الثلاث الأكثر شيوعًا: Gson (Google)، Jackson (FasterXML)، و org.json الكلاسيكية. سترى الفرق في الأساليب وستتمكن من اختيار أداتك.

\n\n

ماذا ستحصل بعد القراءة؟ ستتمكن من تحليل أي JSON — من سلسلة بسيطة إلى هيكل متداخل معقد مع مصفوفات. هيا بنا!

\n\n

التحضير: ما سنحتاجه

\n\n

لأمثلةنا، سنستخدم مشروع Maven بسيط. إذا كنت لا تستخدم Maven — لا مشكلة، فقط قم بتنزيل ملفات JAR للمكتبات يدويًا. إليك الحد الأدنى من التبعيات لـ pom.xml:

\n\n
<!-- Gson -->\n<dependency>\n    <groupId>com.google.code.gson</groupId>\n    <artifactId>gson</artifactId>\n    <version>2.10.1</version>\n</dependency>\n\n<!-- Jackson -->\n<dependency>\n    <groupId>com.fasterxml.jackson.core</groupId>\n    <artifactId>jackson-databind</artifactId>\n    <version>2.15.2</version>\n</dependency>\n\n<!-- org.json (بسيطة) -->\n<dependency>\n    <groupId>org.json</groupId>\n    <artifactId>json</artifactId>\n    <version>20231013</version>\n</dependency>\n
\n\n

الآن، لنتخيل أننا تلقينا من الخادم JSON التالي (معلومات عن مستخدم):

\n\n
{\n  "id": 42,\n  "name": "أليسا",\n  "email": "alice@example.com",\n  "isActive": true,\n  "address": {\n    "city": "موسكو",\n    "street": "تفيرسكايا"\n  },\n  "hobbies": ["قراءة", "برمجة", "دراجة"]\n}\n
\n\n

مهمتنا هي تحويل هذه السلسلة إلى كائنات Java واستخراج الحقول المطلوبة. لنبدأ بالترتيب.

\n\n

الطريقة 1: تحليل JSON في Java باستخدام Gson (بسيط وأنيق)

\n\n

Gson من Google — ربما تكون أبسط طريقة لتحليل JSON في Java. ميزتها الرئيسية هي البساطة. لا تحتاج لكتابة الكثير من الكود.

\n\n

الخطوة 1. إنشاء فئة Java (POJO) تتوافق مع هيكل JSON.

\n\n
public class User {\n    private int id;\n    private String name;\n    private String email;\n    private boolean isActive;\n    private Address address;\n    private List<String> hobbies;\n\n    // Getters and Setters (إلزامية لـ Gson!)\n    public int getId() { return id; }\n    public void setId(int id) { this.id = id; }\n\n    public String getName() { return name; }\n    public void setName(String name) { this.name = name; }\n\n    // ... باقي getters/setters بالمثل\n}\n\npublic class Address {\n    private String city;\n    private String street;\n    // getters/setters\n}\n
\n\n

الخطوة 2. تحليل JSON بسطر واحد.

\n\n
import com.google.gson.Gson;\n\npublic class GsonExample {\n    public static void main(String[] args) {\n        String json = "{\\"id\\":42,\\"name\\":\\"أليسا\\",\\"email\\":\\"alice@example.com\\",\\"isActive\\":true,\\"address\\":{\\"city\\":\\"موسكو\\",\\"street\\":\\"تفيرسكايا\\"},\\"hobbies\\":[\\"قراءة\\",\\"برمجة\\",\\"دراجة\\"]}";\n\n        Gson gson = new Gson();\n        User user = gson.fromJson(json, User.class);\n\n        System.out.print                

المدونات

توصيات الكتب