UTILS.
‎100%‎ داخل المتصفح

من JSON إلى Java POJO

أنشئ أصناف Java POJO من عيّنة JSON، مع تعليقات Jackson أو Gson التوضيحية، ودوال getters وsetters مولَّدة، وأنواع مُغلَّفة للحقول القابلة لأن تكون null.

المخرج

حول هذه الأداة

تحوّل أداة من JSON إلى Java POJO عيّنة JSON ملصوقة إلى أصناف نموذج Java، كما تفعل jsonschema2pojo لكن فورًا في متصفحك. تحلّل JSON، وتستنتج أنواع Java بشكل تكراري، وتصدر صنفًا واحدًا لكل كائن: تصبح السلاسل String، والأعداد الصحيحة int أو long، والأرقام الأخرى double، والقيم المنطقية boolean، والمصفوفات List<T>، والكائنات المتداخلة أصناف PascalCase خاصة بها تُصرَّح قبل الآباء الذين يستخدمونها.

كل التحليل والتوليد يعمل محليًا باستخدام JSON.parse وجافاسكريبت عادية، لذا لا تغادر حمولاتك الصفحة أبدًا. تُحوَّل الحقول إلى camelCase؛ وعندما لا يكون مفتاح JSON بأسلوب camelCase أصلًا تضيف الأداة @JsonProperty("originalKey") (Jackson) أو @SerializedName("originalKey") (Gson)، أو لا شيء في وضع الحقول العادية. الحقول التي يمكن أن تكون null في أي عيّنة تستخدم أنواع الغلاف المُغلَّفة (Integer, Long, Double, Boolean) كي يكون null قابلًا للتمثيل. تحمل أصناف Jackson @JsonIgnoreProperties(ignoreUnknown = true) للتوافق المستقبلي.

يختار مفتاح نمط التعليقات التوضيحية Jackson (الافتراضي)، أو Gson، أو بلا تعليقات، ولا تُضمَّن سوى الاستيرادات المُستخدَمة فعليًا. يختار مفتاح الوصول بين دوال getX()/setX() المولَّدة على حقول خاصة (الافتراضي) أو حقول public عادية. انسخ النتيجة أو نزّلها كملف .java لإدراجه مباشرة في مشروعك.

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

أي أنواع Java تُنتَج؟
string إلى String، وعدد صحيح إلى int (long عندما تتجاوز قيمة نطاق int)، ورقم غير صحيح إلى double، وقيمة منطقية إلى boolean، ومصفوفة إلى List<T>، وكائن إلى صنف مسمّى. الحقول التي قد تكون null تستخدم الأنواع المُغلَّفة — Integer, Long, Double, Boolean.
تعليقات Jackson أم Gson؟
يختار مفتاح التعليقات Jackson (@JsonProperty، إضافة إلى @JsonIgnoreProperties(ignoreUnknown = true))، أو Gson (@SerializedName)، أو بلا شيء. لا تُضاف التعليقات إلا عندما يختلف اسم حقل camelCase عن مفتاح JSON الأصلي.
هل أحصل على getters وsetters؟
افتراضيًا يحصل كل حقل خاص على getX() وsetX() مولَّدين. بدّل مفتاح الوصول إلى حقول public عادية إذا كنت تفضّل حقولًا عارية بأسلوب records دون دوال وصول.
هل يُرسَل JSON الخاص بي إلى أي مكان؟
لا. يُحلَّل JSON وتُولَّد الأصناف بالكامل في متصفحك بجافاسكريبت عادية. لا يُرفَع شيء، لذا يمكنك لصق استجابات API داخلية بأمان.

المزيد من الأدوات