Command Palette

Search for a command to run...

JS

JSON ללכת מבנה

המר JSON לתוך Go struct הגדרות עם תגיות json אובייקטים מקוננים הופכים ל-inline structs, מערכים של אובייקטים מתמזגים, ושמות שדות עוקבים אחר מוסכמות Go. מפעיל את צד הלקוח.

מהו ממיר מבנה JSON to Go?

ממיר JSON to Go struct הופך מסמך JSON להצהרות מסוג Go שמתארות אותו, כך שתוכל לבטל את המארש של אותם נתונים עם קידוד/json במקום להקליד את ה-struct ביד. כל אובייקט JSON הופך ל-Go struct, כל שדה נושא תג json:"key" שממפה אותו בחזרה לשם המקורי, והסוגים הסקלרים מוסקים מהערכים: מחרוזת JSON הופכת למחרוזת, מספר שלם הופך ל-int, עשרוני הופך ל-float64, true ו-false הופכים ל-bool, ו-null הופך לממשק{}. הדבק מטען ותקבל בלוק מסוג מוכן להידור בחזרה.

זה קיים כי כתיבת Go structs מתגובת API אמיתית היא מייגעת וקל לטעות בעדינות שמות שדות יש לייצא ופעל לפי מוסכמות Go, כך מזהה הופך מזהה ו user_url הופך UserURL, בעוד תג json צריך לשמר את המפתח המקורי המדויק או json.Unmarshal מדלג בשקט על השדה אובייקטים מקוננים צריכים מבנה משלהם, ומערך של אובייקטים צריך מבנה יחיד המכסה כל מפתח שיש לכל אלמנט עושה את זה על פני תגובה מקוננת עמוק הוא המקום שבו טעויות מתגנבות פנימה הממיר מיישם את הכללים האלה באופן עקבי: אובייקטים מקוננים הופכים ל structs מוטבע, ומערכים של אובייקטים מתמזגים כך מפתח שמופיע רק בחלק מהאלמנטים עדיין קיים בסוג שנוצר.

הכל פועל בדפדפן שלך ה-JSON שאתה מדביק מנותח ומנתח ב-JavaScript במכשיר שלך, כך ששום דבר לא מועלה, נרשם או מאוחסן, והכלי ממשיך לעבוד עם הרשת מנותקת לאחר טעינת הדף. זה משנה כאשר המטען הוא תגובת API פרטית או מכיל מפתחות וערכים שאתה מעדיף לא לשלוח לשום מקום. אתה יכול לשנות את שם סוג השורש, להעביר מספרים שלמים ל-int64 כאשר אתה צריך את הסוג הרחב יותר, ולהוסיף השמטה לכל תג כאשר אתה רוצה שערכי אפס יושמטו מהפלט המקודד.

דוגמה קצרה מציגה את המיפוי go JSON to struct. הדבק {"order_id": 1042, "סהכ": 19.5, "פריטים": [{"sku": "A1", "qty": 2}, {"sku": "B2", "qty": 1, "gift_note": "Happy birthday"}]}, הקלד סדר כסוג השורש ולחץ על המר. אתה מקבל סוג מבנה הזמנה עם OrderID int, Total float64 ופריטים []מבנה המחזיק מחרוזת Sku, Qty int ומחרוזת GiftNote. GiftNote נמצא שם למרות שרק הפריט השני מכיל אותו, מכיוון שממיר המבנה JSON to Go ממזג כל אלמנט במערך לסוג אחד.

כיצד להשתמש בממיר המבנה של JSON to Go?

  1. הדבק את ה-JSON שלך

    הדבק אובייקט או מערך JSON בתיבת הקלט. טען תחילה את המדגם אם ברצונך לראות את הצורה של המבנה שנוצר לפני השימוש בנתונים שלך.

  2. תן שם לסוג השורש

    הזן שם עבור המבנה ברמה העליונה, כגון User או ApiResponse. הוא מנוקה לתוך מזהה Go מיוצא חוקי כך שהוא מהדר כפי שנכתב.

  3. הגדר אפשרויות של מספר שלם ותג

    בחר int או int64 עבור מספרים שלמים, והפעל את omitempty אם אתה רוצה שדות ריקים שיישארו בחוץ כאשר המבנה מקודד בחזרה ל-JSON.

  4. המר והעתק

    לחץ על המר כדי לבנות את הגדרות המבנה, ולאחר מכן העתק אותן לקובץ Go שלך.JSON לא חוקי מדווח עם הודעת המנתח המדויקת כדי שתוכל לתקן אותה.

תכונות מפתח

  • תגיות json נכונות

    כל שדה שומר תג json: "original_key" כך ש-json.Unmarshal ממפה את הנתונים בחזרה לשם JSON המדויק, גם כאשר שם השדה Go שונה בהתאם למוסכמות.

  • שמות שדות Go-Convention

    מפתחות מיוצאים וראשי תיבות נפוצים הם באותיות גדולות, כך שמזהה הופך למזהה, משתמש_url הופך ל-UserURL, ו-html_body הופך ל-HTMLBody, תואם לציפיות golint.

  • מבנים מקוננים מוטבעים

    אובייקטי JSON מקוננים הופכים למילוליים מבניים מוטבעים לכל עומק, כך שכל הצורה חיה בהצהרה אחת שתוכל להדביק כגוש בודד.

  • מערכים ממוזגים של אובייקטים

    מערך של אובייקטים מייצר מבנה אחד המכסה כל מפתח שיש לכל אלמנט, וסוגי ערכים סותרים עבור מפתח חוזר לממשק{} במקום להיכשל.

Frequently Asked Questions

ממיר מבנה JSON to Go הופך מסמך JSON להצהרות מסוג Go שמתארות אותו. כל אובייקט הופך למבנה, כל שדה מקבל תג json:"key", וסוגי הערכים מוסקים, כך שתוכל לבטל את המארש של אותם נתונים עם קידוד/json מבלי לכתוב את המבנה ביד.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json to gojson to go structgo json to structjson to golang structgo struct generatorjson to structconvert json to gogolang struct from jsonfree json to gono signup json to go