JSON เป็น Go

สร้าง struct ของ Go พร้อมแท็ก JSON จาก JSON

ข้อมูลเข้า JSON

ตัวเลือก

โมเดล
การซีเรียลไลซ์
ขั้นสูง

ผลลัพธ์ Go

วาง JSON หรือโหลดตัวอย่างเพื่อสร้างโค้ด Go

JSON to Go สร้างอะไร

JSON to Go แปลงการตอบกลับของ API หรือ JSON ตัวอย่างใดก็ได้เป็นนิยาม struct ของ Go ที่พร้อมใช้กับ encoding/json ทุกฟิลด์ที่ export มีแท็ก json:"key" ฟิลด์ที่เปลี่ยนชื่อจึงยังถอดรหัสได้ คีย์ที่แท็ก struct แสดงไม่ได้ (คีย์ว่าง เครื่องหมายคำพูด จุลภาค หรือสัญลักษณ์อย่างอีโมจิ) จะถูกยกเว้นด้วย json:"-" และแสดงในหมายเหตุ แทนที่จะแมปไปยังชื่อผิดโดยไม่แจ้ง

วิธีใช้งาน
  1. 1.วาง JSON อัปโหลดหรือลากไฟล์ .json มาวาง หรือโหลดตัวอย่างหนึ่งรายการ
  2. 2.ตั้งชื่อ struct รากและแพ็กเกจ (ค่าเริ่มต้นคือ main)
  3. 3.เปิดหรือปิดพอยน์เตอร์และ omitempty ในส่วนขั้นสูงสามารถเลือกให้ struct ซ้อนเป็นแบบอินไลน์ได้
  4. 4.อ่านหมายเหตุใต้ผลลัพธ์ แล้วคัดลอกโค้ดหรือดาวน์โหลด models.go
การอนุมานชนิด
  • •ตรวจทุกรายการในอาร์เรย์ ไม่ใช่แค่รายการแรก และรวมออบเจ็กต์ในอาร์เรย์เดียวกันเข้าด้วยกัน
  • •คีย์ที่ไม่มีในบางออบเจ็กต์เป็นแบบไม่บังคับ คีย์ที่บางครั้งเป็น null เป็นแบบ nullable โดยแยกสองกรณีนี้ออกจากกัน
  • •1 และ 2.5 ในตำแหน่งเดียวกันจะขยายเป็นทศนิยม ส่วนการปนกันแบบอื่นจะถูกรายงาน
  • •อาร์เรย์ว่างและค่าที่เป็น null เท่านั้นไม่มีหลักฐานของชนิด จึงใช้ชนิดทั่วไปและมีหมายเหตุอธิบาย
  • •การแมปชนิด: string → string, integer → int64 (uint64 หรือ json.Number หากเกินช่วงนั้น), decimal → float64, boolean → bool, array → []T, object → struct, ไม่ทราบชนิดหรือปนกัน → any
  • •เมื่อเปิดพอยน์เตอร์ สเกลาร์และ struct ที่เป็น nullable หรือไม่บังคับจะกลายเป็น *T ส่วน slice และ any จะไม่เป็นพอยน์เตอร์ เพราะมีค่า nil อยู่แล้ว
omitempty ข้อจำกัดและความเป็นส่วนตัว

omitempty จะถูกเพิ่มเฉพาะฟิลด์ที่ไม่มีหรือเป็น null ในตัวอย่าง และยังตัดค่าศูนย์ เช่น 0, "" และ false ออกเมื่อเข้ารหัส จึงไม่เหมือนกับ "ไม่บังคับ" ตัวอย่างแสดงเพียงหน้าตาของข้อมูลครั้งหนึ่ง ไม่ใช่สัญญา API ทั้งหมด ตรวจสอบฟิลด์ไม่บังคับ ชนิดทั่วไป และขนาดของตัวเลขก่อนนำโค้ดไปใช้ ข้อมูลเข้าจำกัดที่ 5 MB และการซ้อน 256 ระดับ ตั้งแต่ 2 MB ขึ้นไปการสร้างจะรอให้กดปุ่ม สร้าง ทุกอย่างทำงานในเบราว์เซอร์ และ JSON จะไม่ถูกอัปโหลด

CodingTool เปิดตัวอย่างเป็นทางการบน

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch