العمل مع JSON في Java: التحليل والتسلسل للمبتدئين

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

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

ابدأ الدورة

العمل مع JSON في Java: التحليل والتسلسل للمبتدئين

\n\n

JSON (JavaScript Object Notation) هو تنسيق خفيف لتبادل البيانات يُستخدم على نطاق واسع في تطوير الويب والتطبيقات المحمولة والخدمات المصغرة. بالنسبة لمطور Java، فإن القدرة على قراءة (تحليل) وإنشاء (تسلسل) JSON هي مهارة أساسية. في هذه المقالة، سنشرح أساسيات العمل مع JSON في Java باستخدام أشهر مكتبتين: Jackson و Gson. المحتوى موجه للمبتدئين، لذا ستكون جميع الأمثلة بسيطة وواضحة قدر الإمكان.

\n\n

ما هو تحليل JSON وتسلسله؟

\n

قبل الانتقال إلى الكود، دعنا نحدد المفاهيم:

\n
    \n
  • التسلسل — هو عملية تحويل كائن Java إلى سلسلة JSON. على سبيل المثال، قمت بإنشاء كائن User وتريد إرساله إلى الخادم بصيغة JSON.
  • \n
  • التحليل (إلغاء التسلسل) — العملية العكسية: تحويل سلسلة JSON مرة أخرى إلى كائن Java. على سبيل المثال، تلقيت ردًا من API وتريد التعامل مع البيانات ككائن عادي.
  • \n
\n\n

إعداد المشروع: إضافة التبعيات

\n

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

\n\n

الخيار 1: Jackson (موصى به للمبتدئين)

\n

Jackson هي مكتبة قوية وعالية الأداء. إذا كنت تستخدم Maven، أضف إلى pom.xml:

\n
<dependency>\n    <groupId>com.fasterxml.jackson.core</groupId>\n    <artifactId>jackson-databind</artifactId>\n    <version>2.15.2</version>\n</dependency>
\n\n

الخيار 2: Gson (من Google)

\n

Gson هي مكتبة خفيفة وبديهية. التبعية لـ Maven:

\n
<dependency>\n    <groupId>com.google.code.gson</groupId>\n    <artifactId>gson</artifactId>\n    <version>2.10.1</version>\n</dependency>
\n\n

يمكن تنزيل كلتا المكتبتين يدويًا من Maven Central إذا كنت لا تستخدم نظام بناء.

\n\n

مثال البيانات: فئة User

\n

لجميع الأمثلة، سنستخدم فئة بسيطة User:

\n
public class User {\n    private String name;\n    private int age;\n    private String email;\n\n    // يجب وجود مُنشئ فارغ لـ Jackson و Gson\n    public User() {}\n\n    public User(String name, int age, String email) {\n        this.name = name;\n        this.age = age;\n        this.email = email;\n    }\n\n    // الدوال الجالبة والضابطة (مهمة للتسلسل)\n    public String getName() { return name; }\n    public void setName(String name) { this.name = name; }\n\n    public int getAge() { return age; }\n    public void setAge(int age) { this.age = age; }\n\n    public String getEmail() { return email; }\n    public void setEmail(String email) { this.email = email; }\n}
\n\n

تحليل JSON (String → Java Object)

\n

سنشرح كيفية قراءة سلسلة JSON وتحويلها إلى كائن User.

\n\n

باستخدام Jackson

\n
import com.fasterxml.jackson.databind.ObjectMapper;\n\npublic class JacksonParsingExample {\n    public static void main(String[] args) throws Exception {\n        String jsonString = "{ \\"name\\": \\"إيفان\\", \\"age\\": 30, \\"email\\": \\"ivan@example.com\\" }";\n\n        ObjectMapper mapper = new ObjectMapper();\n        User user = mapper.readValue(jsonString, User.class);\n\n        System.out.println("الاسم: " + user.getName());\n        System.out.println("العمر: " + user.getAge());\n    }\n}
\n\n

باستخدام Gson

\n
import com.google.gson.Gson;\n\npublic class GsonParsingExample {\n    public static void main(String[] args) {\n        String jsonString = "{ \\"name\\": \\"ماريا\\", \\"age\\": 25, \\"email\\": \\"maria@example.com\\" }";\n\n        Gson gson = new Gson();\n        User user = gson.fromJson(json                

المدونات

توصيات الكتب