يقوم محول بنية JSON to Go بتحويل مستند JSON إلى إعلانات نوع Go التي تصفه، حتى تتمكن من إلغاء تنظيم نفس البيانات باستخدام التشفير/json بدلاً من كتابة البنية يدويًا. يصبح كل كائن JSON بنية Go، ويحمل كل حقل علامة json: "key" التي تعيد تعيينه إلى الاسم الأصلي، ويتم استنتاج الأنواع العددية من القيم: سلسلة JSON تصبح سلسلة، ويصبح الرقم الصحيح int، ويصبح الرقم العشري float64، ويصبح true and false bool، ويصبح null واجهة {}. لصق حمولة وستحصل على كتلة نوع جاهزة للتجميع مرة أخرى.
إنه موجود لأن كتابة بنيات Go من استجابة API حقيقية أمر ممل ومن السهل أن تخطئ بمهارة. يجب تصدير أسماء الحقول واتباع اصطلاحات Go، بحيث يصبح المعرف معرفًا ويصبح user_url UserURL، بينما يجب أن تحافظ علامة json على المفتاح الأصلي الدقيق أو json.Unmarshal يتخطى الحقل بصمت. تحتاج الكائنات المتداخلة إلى بنيتها الخاصة، وتحتاج مجموعة الكائنات إلى بنية واحدة تغطي كل مفتاح يحتوي عليه أي عنصر. القيام بذلك عبر الاستجابة المتداخلة بعمق هو المكان الذي تتسلل فيه الأخطاء. يطبق المحول هذه القواعد باستمرار: تصبح الكائنات المتداخلة بنيات مضمنة، ويتم دمج صفائف الكائنات بحيث يظل المفتاح الذي يظهر في بعض العناصر فقط موجودًا في النوع الذي تم إنشاؤه.
كل شيء يعمل في متصفحك. يتم تحليل وتحليل JSON الذي تقوم بلصقه في JavaScript على جهازك الخاص، لذلك لا يتم تحميل أي شيء أو تسجيله أو تخزينه، وتستمر الأداة في العمل مع الشبكة المنفصلة بمجرد تحميل الصفحة. وهذا مهم عندما تكون الحمولة عبارة عن استجابة واجهة برمجة تطبيقات خاصة أو تحتوي على مفاتيح وقيم تفضل عدم إرسالها إلى أي مكان. يمكنك إعادة تسمية نوع الجذر، وتبديل الأعداد الصحيحة إلى int64 عندما تحتاج إلى النوع الأوسع، وإضافة حذف إلى كل علامة عندما تريد حذف القيم الصفرية من الإخراج المشفر.
الصق كائن أو مصفوفة JSON في مربع الإدخال. قم بتحميل العينة أولاً إذا كنت تريد رؤية شكل البنية التي تم إنشاؤها قبل استخدام بياناتك الخاصة.
أدخل اسمًا لبنية المستوى الأعلى، مثل المستخدم أو ApiResponse. يتم تنظيفه إلى معرف Go صالح تم تصديره بحيث يتم تجميعه كما هو مكتوب.
اختر int أو int64 للأعداد الصحيحة، وقم بتشغيل omitempty إذا كنت تريد ترك الحقول الفارغة عند تشفير البنية مرة أخرى إلى JSON.
انقر فوق تحويل لإنشاء تعريفات البنية، ثم انسخها إلى ملف Go الخاص بك. يتم الإبلاغ عن JSON غير صالح برسالة المحلل اللغوي الدقيقة حتى تتمكن من إصلاحه.
يحتفظ كل حقل بعلامة json: "original_key"، لذا يقوم json.Unmarshal بتعيين البيانات مرة أخرى إلى اسم JSON الدقيق، حتى عند إعادة تسمية حقل Go لاتباع الاصطلاحات.
يتم تصدير المفاتيح ويتم تكبير الأحرف الأولى الشائعة، لذلك يصبح المعرف معرفًا، ويصبح user_url UserURL، ويصبح html_body HTMLBody، مما يتوافق مع توقعات golint.
تصبح كائنات JSON المتداخلة عبارة عن بنية حرفية مضمنة بأي عمق، وبالتالي فإن الشكل بأكمله يعيش في إعلان واحد يمكنك لصقه ككتلة واحدة.
تنتج مجموعة من الكائنات بنية واحدة تغطي كل مفتاح يحتوي عليه أي عنصر، وتعود أنواع القيم المتعارضة للمفتاح إلى الواجهة {} بدلاً من الفشل.
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
Sort the keys of a JSON object alphabetically, recursively through nested objects, with optional array sorting. Ascending or descending, minify or pretty. Client-side, no signup.
Convert JSON into a PHP array literal. Choose short [] or array() syntax, indentation, and an optional variable assignment, then copy the result. 100% in your browser.
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
0 comments
No comments yet. Be the first to share your thoughts!