Omnikit
المطورونالملفاتالمالجميع الأدوات
Ctrl K
أدوات المطورينأدوات الملفاتالحاسبات الماليةجميع الأدوات
الرئيسيةأدوات المطورينمحوّل JSON إلى أصناف Java
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

محوّل JSON إلى أصناف Java

مطورون

حوّل عينة JSON إلى POJO أو سجلات أو أصناف Lombok في Java مع تعليقات Jackson

يعمل في متصفحك. لا يُرسل أي شيء تكتبه إلى أي مكان. تم التحقق في 16 أكتوبر 2026.

الصق عينة JSON واحصل على أصناف Java مع تعليقات Jackson، على شكل POJO مع getters وsetters، أو سجلات (records)، أو Lombok @Data. تصبح الأعداد الصحيحة int، وlong بعد 2,147,483,647، وأي كسر عشري يجعل الحقل double، والقيمة null أو المفقودة تستخدم النوع المغلِّف، مثل Integer.

تُرجمت هذه الصفحة آليًا من الأصل الإنجليزي. لم يراجع أي شخص هذه الترجمة بعد، لذا فالنسخة الإنجليزية هي التي يُعتمد عليها. اقرأ الأصل الإنجليزي

التالي:
  • محوّل JSON إلى data class في Kotlin حوّل عينة JSON إلى data class في Kotlin لـ kotlinx.serialization أو Gson أو Moshi
  • منسّق JSON ومدقّقه نسّق JSON وتحقق منه وصغّره ورتّبه مع الموضع الدقيق لكل خطأ

كيفية تحويل JSON إلى صنف Java

1

الصق عينة JSON، مثل استجابة API، في المربع الأيسر.

2

يظهر Java أثناء الكتابة: ملف Root.java واحد فيه صنف ساكن متداخل لكل كائن، وحقول بصيغة camelCase، و@JsonProperty حيث يختلف المفتاح.

3

اختر POJO مع getters وsetters، أو سجلًا (Java 16+)، أو Lombok @Data، وحدد اسم الصنف الجذر.

4

اضغط نسخ، أو تنزيل لحفظ Root.java، ثم اقرأ JSON باستخدام ObjectMapper من Jackson.

حول محوّل JSON إلى أصناف Java

تقرأ Java ملفات JSON إلى أصناف، عادةً باستخدام Jackson، ويحتاج كل كائن في JSON إلى صنف تحمل حقوله الأنواع والأسماء الصحيحة. يكتب هذا المحوّل تلك الأصناف من عينة، فتتحول استجابة API طويلة إلى Java قابل للترجمة بلصقة واحدة.

كيف تُختار الأنواع.

قيمة JSON نوع Java
"text" String
true / false boolean
42 (أعداد صحيحة فقط) int، أو long بعد 32 بت
4.5 (ظهر أي كسر عشري) double
null، أو مفقود في بعض العناصر Integer، Boolean، Double
null فقط، أو أنواع مختلطة Object
[ ... ] List<...>
{ } فارغ Map<String, Object>
{ ... } صنف ساكن متداخل

ملف واحد. الناتج ملف Root.java واحد: يضم الصنف الجذر كل الأصناف الأخرى بوصفها أصنافًا متداخلة public static، يستطيع Jackson إنشاءها ولا تحتاج إلى ملفات إضافية. وعندما يكون JSON مصفوفة أو قيمة مفردة، يذكر تعليق النوع الذي يُقرأ إليه، مثل List<Root.RootItem>.

الأسماء والمفاتيح. تُكتب الحقول بصيغة camelCase، فيصبح user_name بصيغة userName مع احتفاظ @JsonProperty("user_name") بالمفتاح. وتحصل كلمات Java المحجوزة على شرطة سفلية، مثل class_. ويُكتب حقل مثل xCoord بصيغة xcoord، لأن Jackson كان سيربطه بخلاف ذلك بالدالة getXCoord تحت اسم مختلف. ويُتجاهل المفتاح الفارغ عبر @JsonIgnoreProperties، إذ لا يستطيع Jackson تسميته.

ثلاثة أنماط. يحوي POJO حقولًا خاصة وgetters وsetters ويعمل في كل مكان. والسجل (Java 16+) قصير وغير قابل للتغيير. ويحتفظ Lombok @Data بالحقول ويترك لـ Lombok كتابة الباقي.

تُرجم ناتج POJO لـ 9 عينات باستخدام javac وقرأه Jackson 2.17 مع اعتبار المفاتيح غير المعروفة وقيم null في الأنواع الأولية أخطاءً. لا شيء مما تلصقه يغادر المتصفح.

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

كيف أحول JSON إلى صنف Java؟

الصق عينة JSON في المحوّل فيظهر Java بجانبها: ملف Root.java واحد فيه صنف ساكن متداخل لكل كائن. أضف Jackson إلى المشروع واقرأ JSON باستخدام new ObjectMapper().readValue(json, Root.class)، الذي يملأ كل حقل من مفتاحه.

لماذا الأصناف متداخلة وساكنة؟

وضع كل الأصناف داخل Root يُبقي النموذج كله في ملف واحد يُترجم كما هو. لا يستطيع Jackson إنشاء صنف متداخل إلا إذا كان ساكنًا، لأن الصنف الداخلي يحتاج أولًا إلى نسخة من صنفه الخارجي، لذا يُعلن كل صنف متداخل بوصفه public static.

متى يكون الحقل Integer بدل int؟

يستخدم الحقل النوع المغلِّف، مثل Integer أو Long أو Double أو Boolean، عندما تُظهره العينة بقيمة null أو تُسقط بعض الكائنات مفتاحه. لا يستطيع int الأولي حمل null، والمفتاح المفقود كان سيصبح 0 بصمت، لذا يفصل النوع المغلِّف بين القيمة المفقودة والصفر.

هل أستخدم POJO أم سجلًا أم Lombok؟

السجلات، منذ Java 16، هي الأقصر وغير قابلة للتغيير، ويقرؤها Jackson 2.12 أو أحدث مباشرة. ويعمل POJO مع getters وsetters على أي إصدار من Java ومع كل مكتبة. أما @Data من Lombok فيكتب getters وsetters نيابة عنك عند الترجمة، فيبقى الكود المصدري قصيرًا.

لماذا يُكتب مفتاح مثل xCoord بوصفه الحقل xcoord؟

يعثر Jackson على الخصائص عبر getters، ويسمّي getXCoord باسم xcoord بتصغير الأحرف الكبيرة في البداية. حينها لن يلتقي حقل باسم xCoord بدالة getter الخاصة به، وستنقسم الخاصية إلى اثنتين. لذلك يُسمى الحقل xcoord، مع احتفاظ @JsonProperty("xCoord") بالمفتاح الأصلي.

هل يُرفع ملف JSON الخاص بي؟

لا. يجري التحويل في متصفحك دون أي طلب إلى خادم، ولا يُحفظ JSON، فتبقى استجابات API التي تحمل رموز وصول أو بيانات شخصية على جهازك. أغلق التبويب ولن يبقى شيء.

المصادر

  • The Java Language Specification, chapter 3 (identifiers and keywords)Which names are reserved; string literal escapes
  • The Java Language Specification, §8.10 Record classesRecord components, nested records being static
  • Jackson annotations wiki@JsonProperty and @JsonIgnoreProperties
  • Project Lombok, @DataGetters, setters, equals and toString generated from fields

آخر تحقق في 16 أكتوبر 2026.

تتغير المعدلات والقواعد؛ راجع المصدر قبل الاعتماد على أي رقم.

هل ما زلت عالقًا؟ اسأل عن محوّل JSON إلى أصناف Java ويمكن لأي شخص يعرف الإجابة أن يجيب. لا حاجة إلى حساب.

أدوات ذات صلة

جميع أدوات المطورين
ترميز Base64 وفك ترميزهالنصوص والملفات إلى Base64 والعكس، مع وضع آمن لعناوين URL ومعاينة للصورمحوّل الطابع الزمني Unixمن الطوابع الزمنية Unix إلى تواريخ ومن التواريخ إلى طوابع زمنية، بأي منطقة زمنيةتحويل JSON إلى TypeScriptأنشئ واجهات أو أنواع TypeScript من عيّنة JSONتحويل CSV إلى JSONحوّل CSV إلى JSON وJSON إلى CSV، مع معاينة جدولتحويل YAML إلى JSONحوّل YAML إلى JSON وJSON إلى YAML، مع حلّ المراسيترميز عناوين URL وفك ترميزهارمّز النصوص وعناوين URL بالترميز المئوي أو فكّها، واعرض كل جزء من الرابطمحوّل أنظمة الأعدادالثنائي والثماني والعشري والست عشري وأي أساس حتى 36، بدقة تامة مهما كان الحجم، مع المتمم الثنائيColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
هل كانت هذه الأداة مفيدة؟
Omnikit

مهام صغيرة تُنجز في متصفحك. مجانية وسريعة وخاصة. لا تُرفع الملفات أبدًا.

الملفات

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

المطورون

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

المال

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
الأدلةالأسئلةمن نحنكيف نتحققمكتبة القوانين (تجريبية)الخصوصيةالشروطالإفصاحاتصل بناMore: Exam practice (UGC NET Paper 1)يعمل في متصفحك. لا يُرفع أي شيء. © 2026 Omnikit (theomnikit.com)