تحويل JSON إلى Go
تحويل JSON إلى هياكل Go لتطوير تطبيقات Go
إدخال JSON
مخرجات Go
ما هو تحويل JSON إلى Go؟
تستخدم Go الهياكل (structs) للبيانات المنظمة. عند إزالة تسلسل JSON باستخدام encoding/json، تحتاج إلى هياكل بحقول وأنواع مطابقة. تُعرِّف مواصفة JSON الكائنات والمصفوفات والنصوص والأرقام والقيم المنطقية — لكن Go تحتاج إلى تعريفات هياكل صريحة لكل كائن متداخل. كتابة تلك التعريفات يدوياً مُرهِق ومعرَّض للخطأ عندما يكون JSON كبيراً أو معقداً.
تُولِّد هذه الأداة هياكل Go من بيانات JSON الخاصة بك. حدد اسم الهيكل والحزمة في لوحة الإعداد. فعِّل وسوم JSON للحصول على json:"field_name" حتى تُعيَّن حقول الهيكل بشكل صحيح إلى مفاتيح camelCase أو snake_case. فعِّل المؤشرات للحقول الاختيارية أو القابلة للقيمة الفارغة حتى تتمكن من التمييز بين القيمة الصفرية والقيمة الغائبة. المخرجات جاهزة للصقها في مشروعك واستخدامها مع json.Unmarshal().
تعمل عملية التحويل بالكامل في متصفحك. لا يتم إرسال بيانات JSON الخاصة بك إلى أي خادم.
كيفية استخدام هذه الأداة
الصق أو ارفع JSON
انسخ JSON الخاص بك والصقه في المحرر الأيسر. يمكنك أيضاً النقر على رفع الملف لتحميل ملف .json أو .txt. استخدم زر تحميل مثال لتحميل بيانات نموذجية. في لوحة الإعداد، حدد اسم الهيكل (مثل User) واسم الحزمة (مثل models). فعِّل وسوم JSON للحصول على وسوم json:"key". فعِّل المؤشرات للحقول الاختيارية أو القابلة للقيمة الفارغة.
مراجعة الهياكل المُولَّدة
تعرض اللوحة اليمنى هياكل Go المُولَّدة. تصبح الكائنات المتداخلة هياكل متداخلة أو منفصلة. تصبح المصفوفات <code>[]Type</code>. تُعيِّن وسوم JSON حقول الهيكل إلى مفاتيح JSON. استخدم <code>json.Unmarshal(data, &v)</code> لتحليل JSON إلى الهيكل. إذا كان JSON يحتوي على أخطاء نحوية، صحِّحها أولاً باستخدام منسق JSON أو التحقق من JSON.
نسخ أو تنزيل
استخدم <strong>نسخ</strong> لوضع النتيجة في الحافظة، أو <strong>تنزيل</strong> لحفظها كملف <code>.go</code>. الصقها في مشروع Go الخاص بك.
أمثلة JSON إلى Go
إليك مثالاً على توليد هياكل Go من كائن JSON.
مثال: سجل مشترك
إدخال JSON:
مخرجات Go المُولَّدة:
متى يساعد تحويل JSON إلى Go
ينتهي معظم المطورين إلى الحاجة لهذا عند الدمج مع الواجهات البرمجية. ترسل طلباً عبر Postman أو curl، وتأتي الاستجابة بصيغة JSON. لصقها هنا يمنحك هياكل مكتوبة يمكن استخدامها فوراً مع encoding/json.
ملفات الإعداد حالة شائعة أخرى. ملف <code>config.json</code> أو <code>settings.json</code> يحتوي على كائنات متداخلة كثيراً ما يحتاج إلى هيكل Go للوصول الآمن من حيث النوع. إذا كنت بحاجة إلى دمج ملفين JSON أولاً، فهناك أداة دمج JSON منفصلة لذلك.
صادرات قواعد البيانات من MongoDB وFirestore وCouchDB عادةً ما تكون كتلاً JSON كبيرة. تشغيلها عبر هذه الأداة يساعدك على فهم بنية المستند وتوليد هياكل Go لنصوص الاستيراد أو الاستعلامات.
الأسئلة الشائعة
لماذا وسوم JSON؟
يجب أن تكون أسماء حقول هياكل Go مُصدَّرة (بحرف كبير) لـ JSON. يستخدم JSON غالباً camelCase أو snake_case. يُعيِّن الوسم json:"fieldName" حقل الهيكل إلى مفتاح JSON. فعِّل وسوم JSON في الإعداد حتى تعمل الهياكل المُولَّدة بشكل صحيح مع json.Unmarshal وjson.Marshal.
المؤشرات للحقول الاختيارية؟
إذا كان حقل JSON يمكن أن يكون فارغاً أو غائباً، استخدم *Type للتمييز بين القيمة الصفرية والقيمة الغائبة. بدون مؤشرات، لا يمكن التمييز بينهما. فعِّل استخدام المؤشرات في الإعداد للحقول الاختيارية أو القابلة للقيمة الفارغة.
هل يتم إرسال بياناتي إلى أي مكان؟
لا. تعمل عملية التوليد بالكامل في متصفحك باستخدام JavaScript. لا يتم إرسال أي بيانات إلى أي خادم.
ماذا عن omitempty؟
أضف omitempty إلى وسم JSON للحقول التي لا تريدها في المخرجات عندما تكون فارغة: json:"name,omitempty". قم بتعديل المخرجات حسب الحاجة.
interface{} لـ JSON الديناميكي؟
للبنية غير المعروفة أو المتغيرة جداً، استخدم map[string]interface{} أو interface{}. تُولِّد هذه الأداة هياكل مكتوبة للأشكال المعروفة.
أدوات ذات صلة
لمعالجة JSON في Go، انظر encoding/json. لمعلومات حول JSON، انظر مواصفات JSON وRFC 8259. لاختبار الواجهات البرمجية، انظر Postman.