أي كائن أو مصفوفة JSON
الافتراضي: "Root"
Go أو TS أو Python أو Java
الصق JSON وانقر على توليد لعرض الناتج
الصق JSON — احصل على تعريفات Go وTypeScript وPython وJava فوراً
أي كائن أو مصفوفة JSON
الافتراضي: "Root"
Go أو TS أو Python أو Java
الصق JSON وانقر على توليد لعرض الناتج
| نوع JSON | مثال | Go | TypeScript | Python | Java |
|---|---|---|---|---|---|
| string | "hello" | string | string | str | String |
| integer | 42 | int | number | int | Integer |
| float | 3.14 | float64 | number | float | Double |
| boolean | true | bool | boolean | bool | Boolean |
| null | null | interface{} | unknown | Any | Object |
| array | [1,2,3] | []T | T[] | list[T] | List<T> |
| object | {"a":1} | struct{...} | interface{...} | @dataclass class | class{...} |
تكامل واجهات API هو أكثر حالات الاستخدام شيوعاً: تتلقى استجابة JSON من REST API أو GraphQL وتحتاج نماذج محددة الأنواع بلغتك المفضلة. كتابة تعريفات struct يدوياً من استجابة JSON كبيرة عملية مملة وعرضة للأخطاء — قد يستغرق كائن JSON من 100 سطر أكثر من 30 دقيقة لكتابته يدوياً، وخطأ واحد في نوع الحقل يسبب أخطاء وقت التشغيل. ملفات الإعدادات (package.json، terraform.tfstate، docker-compose.yml) هي مصدر شائع آخر: يرغب المطورون في الوصول الآمن نوعياً إلى بيانات الإعدادات. خطوط أنابيب توليد الكود تستخدم أدوات JSON-to-type كخطوة أولى قبل توليد كود serialization أو مخططات قواعد البيانات أو توثيق API. هذه الأداة تولد جميع مخارج اللغات الأربع من إدخال JSON واحد — بدون تسجيل، بدون مفتاح API، نتائج فورية.
Go: أسماء الحقول تستخدم PascalCase مع وسوم json:"field_name". الحقول النصية تستخدم string؛ الأعداد تفترض float64 ما لم تكن أعداداً صحيحة بوضوح. الكائنات المتداخلة تتحول إلى أنواع struct متداخلة. وسوم struct تحافظ على مفتاح JSON الأصلي للـ marshaling/unmarshaling.
TypeScript: الواجهات تستخدم PascalCase (مثال: Root، Address). الحقول الاختيارية (من القيم الفارغة null) تحصل على المعدل ?. المصفوفات تستخدم صيغة T[]. أنواع union تُولد للمصفوفات ذات أنواع العناصر المختلطة.
Python: تستخدم مزخرف @dataclass مع type hints. الحقول تحصل على Optional[T] للقيم القابلة أن تكون null. الكائنات المتداخلة تتحول إلى كلاسات dataclass متداخلة. تتضمن الاستيرادات from dataclasses import dataclass وfrom typing import List, Optional.
Java: تولد كلاسات POJO (Plain Old Java Object) بحقول private ودوال getter/setter عامة ومجموعات generic صحيحة. تستخدم List<T> للمصفوفات، وInteger/Double/Boolean كمغلفات للأنواع الأولية القابلة للـ null.
الصق JSON وانتقل إلى تبويب Go. تولد الأداة Go struct صحيحة مع وسوم json:"..." وأنواع struct متداخلة وأنواع slice للمصفوفات. تستخدم الحقول PascalCase مع الحفاظ على مفتاح JSON الأصلي في وسوم struct.
اختر تبويب TypeScript بعد لصق JSON. تُولد الواجهات بمعدلات اختيارية للحقول القابلة أن تكون null، وأنواع المصفوفات باستخدام T[]، وواجهات متداخلة للكائنات المتداخلة.
نعم — جميع اللغات الأربع تُولد في آنٍ واحد. Python: @dataclass مع type hints وOptional/List من typing. Java: POJO بحقول private ودوال getter/setter ومجموعات generic. تنقل بين التبويبات لمشاهدة كل لغة.
تُعيّن قيم JSON كالتالي: string → string/str/String، integer → int/number/int/Integer، float → float64/number/float/Double، boolean → bool/boolean/bool/Boolean، null → interface{}/unknown/Any/Object، array → مجموعات محددة الأنواع، object → أنواع متداخلة. راجع جدول تعيين الأنواع أعلاه.
تولد قيم JSON الفارغة (null) أنواعاً اختيارية/مؤشرية: *T أو interface{} في Go، المعدل ? في TypeScript، Optional[T] في Python، مغلفات قابلة للـ null في Java. الحقول المفقودة من بعض عناصر المصفوفات تُعامل كحقول اختيارية في جميع المخرجات.