UTILS.
ทำงานในเบราว์เซอร์ 100%
🐹

JSON เป็น Go Struct

แปลงตัวอย่าง JSON เป็น Go struct ที่มีชนิดข้อมูลพร้อม json tag อนุมาน int64, float64, bool, struct ซ้อน และ slice ในเบราว์เซอร์ของคุณ

ผลลัพธ์

เกี่ยวกับเครื่องมือนี้

วางตัวอย่าง JSON แล้วเครื่องมือนี้จะสร้าง Go struct ที่พร้อมใช้งาน ครบด้วยแท็ก `json:"field"` สำหรับทุกคีย์ ทุกอย่างทำงานในเครื่องในเบราว์เซอร์ของคุณ ดังนั้น JSON ของคุณจึงไม่ถูกอัปโหลดไปที่ใด

ตัวสร้างเรียก JSON.parse และเดินผ่านผลลัพธ์แบบเรียกซ้ำ: string กลายเป็น string, boolean กลายเป็น bool, จำนวนเต็มกลายเป็น int64 และจำนวนที่มีทศนิยมกลายเป็น float64, null กลายเป็น interface{}, array กลายเป็น slice ของชนิดสมาชิกตัวแรก ([]interface{} เมื่อว่างเปล่า) และแต่ละ object กลายเป็น struct ซ้อนที่มีชื่อของตัวเอง ชื่อฟิลด์ถูกแปลงเป็น PascalCase ที่ export ได้ (โดยอักษรย่อทั่วไปอย่าง ID และ URL เป็นตัวพิมพ์ใหญ่) ขณะที่คีย์เดิมถูกเก็บไว้ใน json tag

ใช้มันเริ่มต้นสร้างโมเดล Go จากการตอบกลับของ API หรือไฟล์คอนฟิก จากนั้นจัดชนิดข้อมูลด้วยมือตามที่จำเป็น เพราะ JSON ไม่มีชนิดจำนวนเต็มแยก ค่าอย่าง 1.0 จึงถูกอ่านเป็นจำนวนเต็ม เพิ่มทศนิยม (1.5) หากคุณต้องการ float64

คำถามที่พบบ่อย

จำนวนถูกกำหนดชนิดอย่างไร?
ค่าที่แยกวิเคราะห์แล้วไม่มีเศษกลายเป็น int64 ค่าที่มีทศนิยมกลายเป็น float64 JSON แยก 1 จาก 1.0 ไม่ได้ ดังนั้นทั้งคู่จึงอ่านเป็น int64
object และ array ที่ซ้อนกันเกิดอะไรขึ้น?
แต่ละ object กลายเป็น struct ที่มีชื่อแยก array กลายเป็น slice ของชนิดสมาชิกตัวแรก หรือ []interface{} หาก array ว่างเปล่าหรือสมาชิกเป็น null
ชื่อฟิลด์ถูกต้องตามหลัก Go ไหม?
คีย์ถูกแปลงเป็น PascalCase ที่ export ได้ และคีย์เดิมถูกเก็บไว้ใน json tag ดังนั้น JSON จึงแปลงไปกลับได้ถูกต้อง แม้กับชื่ออย่าง user_id หรือ first-name
JSON ของฉันถูกส่งไปยังเซิร์ฟเวอร์ไหม?
ไม่ การแยกวิเคราะห์และการสร้างโค้ดเกิดขึ้นทั้งหมดในเบราว์เซอร์ของคุณ ไม่มีสิ่งใดถูกอัปโหลดหรือจัดเก็บ

เครื่องมือเพิ่มเติม