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

محوّل JSON إلى بُنى Go

مطورون

حوّل عينة JSON إلى بُنى Go مع وسوم json وint أو float64 ومؤشرات وomitempty

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

الصق عينة JSON واحصل على أنواع struct في Go مع وسوم json، جاهزة لـ json.Unmarshal. تصبح الأعداد الصحيحة int، وint64 بعد 2,147,483,647، وأي كسر عشري يجعل الحقل float64؛ والقيمة التي تكون null أحيانًا تصبح مؤشرًا، والمفاتيح المفقودة من بعض الكائنات تحصل على omitempty.

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

التالي:
  • تحويل JSON إلى TypeScript أنشئ واجهات أو أنواع TypeScript من عيّنة JSON
  • منسّق JSON ومدقّقه نسّق JSON وتحقق منه وصغّره ورتّبه مع الموضع الدقيق لكل خطأ

كيفية تحويل JSON إلى بنية Go

1

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

2

تظهر أنواع Go أثناء الكتابة: بنية لكل كائن، مع وسوم json وأسماء بأسلوب Go مثل UserID.

3

اختر البُنى المتداخلة المضمّنة أو omitempty لكل حقل إن أردتهما، وحدد اسم النوع الجذر.

4

اضغط نسخ، أو تنزيل لحفظ ملف .go، وأضف سطر package الخاص بك.

حول محوّل JSON إلى بُنى Go

تفك Go ترميز JSON إلى بُنى، ويحتاج كل حقل إلى النوع الصحيح وإلى وسم json:"..." يسمّي المفتاح. يكتب هذا المحوّل تلك الأنواع من عينة، فتتحول استجابة API من 200 سطر إلى Go صحيح بلصقة واحدة.

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

قيمة JSON نوع Go
"text" string
true / false bool
42 (أعداد صحيحة فقط) int، أو int64 بعد 32 بت
4.5 (ظهر أي كسر عشري) float64
null، ومعها نوع آخر مؤشر، مثل *string
null فقط، أو أنواع مختلطة any
[ ... ] شريحة، مثل []string
{ ... } بنية مسماة، أو مضمّنة

مصفوفات الكائنات. تُدمج كل كائنات المصفوفة في بنية واحدة، فيبقى الحقل الذي يظهر في بعضها فقط موجودًا، مع ,omitempty في وسمه. يتشارك كائنان لهما المفاتيح والأنواع نفسها تمامًا اسم نوع واحدًا.

الأسماء. تصبح المفاتيح أسماء Go مُصدَّرة بأسلوب Go: يصبح user_id بصيغة UserID، وavatar_url بصيغة AvatarURL، وفق قائمة الاختصارات في golint. والمفتاح الذي يبدأ برقم يحصل على N في أوله؛ ويُرقَّم مفتاحان يعطيان الاسم نفسه. والمفتاح الذي يحوي أحرفًا لا يستطيع الوسم حملها، مثل الفاصلة، يُعلَّم بتعليق، لأن encoding/json لن يطابقه.

الخيارات. يكتب خيار البُنى المتداخلة المضمّنة نوعًا واحدًا فيه بُنى مجهولة، وهذا يناسب استجابة تُستخدم مرة واحدة. ويناسب omitempty لكل حقل البُنى التي تسلسلها أيضًا. اسم النوع الجذر Root ما لم تسمّه.

فُحص كل ناتج بقراءة Go مرة أخرى وفك ترميز العينة وفق قواعد encoding/json. لا شيء مما تلصقه يغادر المتصفح.

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

كيف أحول JSON إلى بنية Go؟

الصق عينة JSON في المحوّل فتظهر بنية Go بجانبها، مع وسم json على كل حقل والكائنات المتداخلة أنواعًا مستقلة. انسخها إلى حزمتك وفك الترميز باستخدام json.Unmarshal(data, &v)، حيث v متغير من النوع الجذر.

هل تكون أرقام JSON في Go من نوع int أم float64؟

استخدم int عندما تكون كل قيمة في العينة عددًا صحيحًا، وfloat64 عندما يحمل أي منها جزءًا عشريًا، لأن encoding/json يرفض وضع 4.5 في int. يختار المحوّل لكل حقل على حدة، ويأخذ int64 عندما يتجاوز عدد صحيح 2,147,483,647.

كيف تُعالج قيم null في بُنى Go؟

الحقل الذي يظهر بقيمة null وبقيمة أخرى يصبح مؤشرًا، مثل *string، فيعني nil القيمة null ويبقى النص الفارغ مختلفًا عنها. والحقل الذي لم يكن إلا null يصبح any، إذ لا تذكر العينة ما الذي كان سيحمله غير ذلك.

ماذا يفعل omitempty في وسم json؟

مع omitempty، يحذف json.Marshal الحقل عندما يحمل القيمة الصفرية: نصًا فارغًا أو 0 أو false أو nil أو شريحة فارغة. يضيفه المحوّل إلى المفاتيح المفقودة من بعض كائنات المصفوفة، ويضيفه مفتاح تبديل إلى كل الحقول.

لماذا يُسمى الحقل UserID وليس UserId؟

يكتب أسلوب Go، الذي يفحصه golint ومعظم أدوات الفحص، الاختصارات بأحرف كبيرة: ID وURL وHTTP وAPI وJSON ونحو أربعين غيرها. ويحتفظ وسم json بالمفتاح الأصلي، user_id أو userId، فيبقى فك الترميز مطابقًا لواجهة API تمامًا.

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

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

المصادر

  • The Go Programming Language Specification, Struct typesField declarations, identifiers and tags
  • Go standard library, encoding/jsonTag syntax, omitempty, how numbers and null decode
  • golint, lint.go (commonInitialisms)The initialisms written in capitals: ID, URL, HTTP, API and others

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

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

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

أدوات ذات صلة

جميع أدوات المطورين
ترميز 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)