Java:
עבודה עם JSON

איך ל:

בואו נגלגל שרוולים ונתחיל לתכנת עם JSON ב-Java.

ראשית, תצטרכו ספריית עיבוד JSON כמו Jackson או Google Gson. כאן נשתמש ב-Jackson, לכן הוסיפו תלות זו ל-pom.xml שלכם:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.1</version>
</dependency>

עכשיו, בואו נסריאלז (נכתוב) אובייקט ג’אווה פשוט ל-JSON:

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonExample {
    public static void main(String[] args) {
        try {
            ObjectMapper mapper = new ObjectMapper();
            Person person = new Person("Alex", 30);
            String json = mapper.writeValueAsString(person);
            System.out.println(json);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

class Person {
    public String name;
    public int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

הפלט יהיה:

{"name":"Alex","age":30}

עכשיו, לדיסריאליזציה (קריאה) של JSON חזרה לאובייקט ג’אווה:

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonExample {
    public static void main(String[] args) {
        String json = "{\"name\":\"Alex\",\"age\":30}";
        try {
            ObjectMapper mapper = new ObjectMapper();
            Person person = mapper.readValue(json, Person.class);
            System.out.println(person.name + " בן " + person.age + " שנה.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

הפלט יהיה:

Alex בן 30 שנה.

צלילה עמוקה

הפשטות והיעילות של JSON הפכו אותו לתקן הדה-פקטו להחלפת נתונים ברשת, והדיחו את XML מעל כיסאו. המוצג בראשית שנות ה-2000, JSON נגזר מ-JavaScript אך כיום נתמך ברוב השפות.

אלטרנטיבות ל-JSON כוללות XML, שהוא יותר מפורט, ותבניות בינאריות כמו Protocol Buffers או MessagePack, שהן פחות קריאות לבן אדם אך יעילות יותר בגודל ובמהירות. לכל אחת מהן יש מקרי שימוש; הבחירה תלויה בצרכי הנתונים הספציפיים ובהקשר שלכם.

ב-Java, מעבר ל-Jackson ו-Gson, יש לנו גם את JsonB ו-org.json כספריות נוספות לטיפול ב-JSON. Jackson מציע עיבוד מבוסס זרם וידוע במהירותו, בעוד ש-Gson מפורסם בקלות השימוש שלו. JsonB הוא חלק מ-Jakarta EE, ומציע גישה יותר מתקנתית.

כשמיישמים את JSON, זכרו לטפל היטב בחריגות שלכם - הקוד שלכם צריך להיות עמיד נגד קלטים שגויים. כמו כן, שקלו את ההשלכות הביטחוניות של קשירת נתונים אוטומטית - תמיד אמתו את קלטיכם!

ראו גם