JSON เป็น C#

สร้าง class หรือ record ของ C# สำหรับ System.Text.Json หรือ Newtonsoft.Json

ข้อมูลเข้า JSON

ตัวเลือก

โมเดล
รูปแบบชนิด
การซีเรียลไลซ์

ผลลัพธ์ C#

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

JSON to C# สร้างอะไร

JSON to C# แปลงการตอบกลับของ API หรือ JSON ตัวอย่างใดก็ได้เป็นชนิดของ C# ในไฟล์เดียวที่ใช้ file-scoped namespace โหมด Class เขียนพร็อพเพอร์ตี { get; set; } โหมด Record เขียน positional record และวางแอตทริบิวต์บนพร็อพเพอร์ตีที่สร้างขึ้นด้วย [property: ...] System.Text.Json ใช้ [JsonPropertyName("key")] และ Newtonsoft.Json ใช้ [JsonProperty("key")] พร็อพเพอร์ตีจะไม่ได้ชื่อเดียวกับชนิดที่ครอบอยู่ ซึ่ง C# ไม่อนุญาต

วิธีใช้งาน
  1. 1.วาง JSON อัปโหลดหรือลากไฟล์ .json มาวาง หรือโหลดตัวอย่างหนึ่งรายการ
  2. 2.ตั้งชื่อชนิดรากและเนมสเปซ (ไม่บังคับ) เช่น Company.Project.Models
  3. 3.เลือกรูปแบบชนิด การตั้งชื่อพร็อพเพอร์ตี และ nullable reference types
  4. 4.เลือกตัวซีเรียลไลซ์และนโยบายแอตทริบิวต์ แล้วคัดลอกโค้ดหรือดาวน์โหลด <Root>.cs
การอนุมานชนิด
  • •ตรวจทุกรายการในอาร์เรย์ ไม่ใช่แค่รายการแรก และรวมออบเจ็กต์ในอาร์เรย์เดียวกันเข้าด้วยกัน
  • •คีย์ที่ไม่มีในบางออบเจ็กต์เป็นแบบไม่บังคับ คีย์ที่บางครั้งเป็น null เป็นแบบ nullable โดยแยกสองกรณีนี้ออกจากกัน
  • •1 และ 2.5 ในตำแหน่งเดียวกันจะขยายเป็นทศนิยม ส่วนการปนกันแบบอื่นจะถูกรายงาน
  • •อาร์เรย์ว่างและค่าที่เป็น null เท่านั้นไม่มีหลักฐานของชนิด จึงใช้ชนิดทั่วไปและมีหมายเหตุอธิบาย
  • •การแมปชนิด: string → string, integer → int, long, ulong หรือ decimal ตามช่วงค่า, decimal → double, boolean → bool, array → List<T>, object → class หรือ record, ไม่มีหรือเป็น null → T?, ไม่ทราบชนิดหรือปนกัน → object
  • •สมาชิก required ต้องใช้ C# 11 / .NET 7 ขึ้นไป จากนั้น System.Text.Json จะปฏิเสธ JSON ที่ขาดคีย์ที่บังคับ
ข้อจำกัดและความเป็นส่วนตัว

ตัวอย่างแสดงเพียงหน้าตาของข้อมูลครั้งหนึ่ง ไม่ใช่สัญญา API ทั้งหมด ตรวจสอบฟิลด์ไม่บังคับ ชนิดทั่วไป และขนาดของตัวเลขก่อนนำโค้ดไปใช้ ข้อมูลเข้าจำกัดที่ 5 MB และการซ้อน 256 ระดับ ตั้งแต่ 2 MB ขึ้นไปการสร้างจะรอให้กดปุ่ม สร้าง ทุกอย่างทำงานในเบราว์เซอร์ และ JSON จะไม่ถูกอัปโหลด เมื่อใช้ System.Text.Json พร็อพเพอร์ตีชนิด object จะเก็บ JsonElement หลังดีซีเรียลไลซ์

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