UTILS.
۱۰۰٪ در مرورگر
🐹

JSON به استراکت Go

یک نمونه JSON را به استراکت‌های تایپ‌دار Go با تگ‌های json تبدیل کنید. int64، float64، bool، استراکت‌های تودرتو و اسلایس‌ها را در مرورگر شما استنتاج می‌کند.

خروجی

درباره این ابزار

یک نمونه JSON را بچسبانید و این ابزار استراکت‌های آماده‌ی استفاده Go را تولید می‌کند، همراه با تگ‌های `json:"field"` برای هر کلید. همه‌چیز به‌صورت محلی در مرورگر شما اجرا می‌شود، پس JSON شما هرگز به‌جایی آپلود نمی‌شود.

تولیدکننده JSON.parse را فراخوانی می‌کند و نتیجه را به‌صورت بازگشتی می‌پیماید: رشته‌ها به string، مقادیر بولی به bool، اعداد صحیح به int64 و اعداد با اعشار به float64 تبدیل می‌شوند، null به interface{} تبدیل می‌شود، آرایه‌ها به یک اسلایس از نوع اولین عنصر ([]interface{} در حالت خالی) تبدیل می‌شوند، و هر شیء به استراکت تودرتوی نام‌گذاری‌شده خود تبدیل می‌شود. نام فیلدها به PascalCase صادرشده تبدیل می‌شوند (با بزرگ‌شدن حروف سرنام‌های رایج مانند ID و URL) در حالی که کلید اصلی در تگ json حفظ می‌شود.

از آن برای راه‌اندازی سریع مدل‌های Go از یک پاسخ API یا فایل پیکربندی استفاده کنید، سپس تایپ‌ها را در جایی که لازم است دستی مرتب کنید. چون JSON نوع صحیح جداگانه‌ای ندارد، مقداری مانند 1.0 به‌عنوان عدد صحیح خوانده می‌شود؛ اگر float64 می‌خواهید یک اعشار (1.5) اضافه کنید.

پرسش‌های پرتکرار

اعداد چگونه تایپ می‌شوند؟
یک مقدار تجزیه‌شده بدون بخش کسری به int64 تبدیل می‌شود؛ مقداری با اعشار به float64 تبدیل می‌شود. JSON نمی‌تواند 1 را از 1.0 تشخیص دهد، پس هر دو به‌عنوان int64 خوانده می‌شوند.
با اشیاء و آرایه‌های تودرتو چه اتفاقی می‌افتد؟
هر شیء به یک استراکت نام‌گذاری‌شده جداگانه تبدیل می‌شود؛ آرایه‌ها به یک اسلایس از نوع اولین عنصر تبدیل می‌شوند، یا []interface{} اگر آرایه خالی باشد یا عنصر null باشد.
آیا نام فیلدها Goی معتبر هستند؟
کلیدها به PascalCase صادرشده تبدیل می‌شوند و کلید اصلی در یک تگ json نگه‌داشته می‌شود، پس JSON حتی برای نام‌هایی مانند user_id یا first-name به‌درستی رفت‌وبرگشت می‌کند.
آیا JSON من به یک سرور ارسال می‌شود؟
نه. تجزیه و تولید کد کاملاً در مرورگر شما اتفاق می‌افتد؛ چیزی آپلود یا ذخیره نمی‌شود.

ابزارهای بیشتر