JSON إلى أصناف Java (POJO أو Record)

أنشئ أصناف Java POJO مع getters وsetters أو سجلات Java 16 من JSON، مع @JsonProperty من Jackson للمفاتيح غير المعتادة وأصناف static متداخلة. مجاني.

الأنواع المتداخلة أصناف داخلية ساكنة. المفاتيح التي ليست أسماء Java صالحة تحصل على @JsonProperty (Jackson).

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

أدوات ذات صلة

عرض الكل

ما هو JSON إلى Java؟

ولّد أصناف نماذج Java من عيّنة JSON، إما كأصناف POJO تقليدية بحقول خاصة وgetters وsetters أو كسجلات Java مدمجة. تصبح الكائنات المتداخلة أصنافًا static متداخلة (أو سجلات متداخلة) داخل النوع الجذر.

كيفية استخدام JSON إلى Java

  1. الصق عيّنة JSON في إدخال JSON (أو انقر تحميل مثال / فتح ملف).
  2. اضبط اسم النوع الجذر (الافتراضي Root).
  3. اختر نمط الإخراج: صنف مع getters/setters (Jackson) أو سجل Record (Java 16+).
  4. انسخ شيفرة Java الناتجة أو تنزيل كملف.

مثال

الإدخال
{"id":1,"name":"A","tags":["x"]}
الإخراج
import java.util.List;

public class Root {
    private long id;
    private String name;
    private List<String> tags;

    public long getId() { return id; }
    public void setId(long id) { this.id = id; }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public List<String> getTags() { return tags; }
    public void setTags(List<String> tags) { this.tags = tags; }
}

متى تستخدم JSON إلى Java

استخدمه لتجهيز DTO لشيفرة Spring أو Jackson أو Gson. عدّل أنواعًا مثل التواريخ (LocalDate وInstant) والتعدادات يدويًا، وقسّم الأصناف المتداخلة إلى ملفات إن كانت قاعدة شيفرتك تفضل ذلك.

كيف يعمل JSON إلى Java

تُجتاز العيّنة تكراريًا ويجمع كل موضع الأنواع التي رآها. تُدمج مصفوفات الكائنات في نوع واحد: فالمفتاح الغائب من بعض العناصر يصبح اختياريًا، والمفتاح الذي يكون null في موضع ما يصبح قابلًا لـ null، والأعداد الصحيحة المختلطة بكسرية تصبح نوع الفاصلة العائمة، وأي خلط آخر للأنواع يعود إلى نوع ديناميكي. وتصبح الكائنات المتداخلة أنواعًا مسماة (PascalCase للمفتاح مع إفراد مفاتيح المصفوفات: orders ← Order) مع لواحق رقمية عند تعارض الأسماء. يستخدم ناتج Java الأنواع الأولية long/double/boolean للقيم المطلوبة وأنواع الصناديق Long/Double/Boolean للقيم القابلة لـ null أو الاختيارية، وString وList<T> للمصفوفات وObject للقيم الديناميكية. وتكون أسماء الحقول بنمط camelCase؛ وعندما تختلف عن مفتاح JSON يُضاف تعليق Jackson التوضيحي @JsonProperty("key") ويُضمَّن الاستيراد تلقائيًا.

حالات الاستخدام الشائعة

  • إنشاء DTO لعميل REST في Spring Boot
  • نمذجة رسالة JSON لمستهلكي Kafka
  • توليد سجلات لإعداد غير قابل للتعديل
  • تهيئة بيانات اختبار في Java

الأسئلة الشائعة

هل أحتاج إلى Jackson؟

فقط إذا لم تكن بعض المفاتيح أسماء Java صالحة؛ عندئذ يُستخدم @JsonProperty. وإلا فالأصناف Java عادية وتعمل مع Gson أيضًا.

لماذا long بدل int؟

قد تتجاوز أعداد JSON نطاق int (المعرّفات والطوابع الزمنية). يتجنب long الفيض؛ انتقل إلى int إذا كنت تعلم أن القيم صغيرة.

هل تعمل السجلات مع Jackson؟

نعم، يفك Jackson 2.12 فما فوق سجلات Java عبر مُنشئها القانوني.

استكشف المزيد من الفئات