ESC

ตัวสร้าง JSON Schema

ทำงาน 100% ฝั่งไคลเอนต์ ข้อมูล JSON ของคุณไม่เคยออกจากเบราว์เซอร์

ตัวอย่างการใช้งาน

ใช้ Draft-07 สำหรับฟีเจอร์ล่าสุดรวมถึงสกีมาแบบมีเงื่อนไขและการเข้ารหัสเนื้อหา

เปิดใช้งาน "ทำเครื่องหมายทุกฟิลด์เป็นจำเป็น" เมื่อคุณต้องการตรวจสอบฟิลด์บังคับอย่างเข้มงวด

ดาวน์โหลดสกีมาที่สร้างขึ้นและเพิ่มในโปรเจกต์ของคุณสำหรับการตรวจสอบ CI อัตโนมัติ

วางตัวอย่างการตอบกลับ API เพื่อสร้างสกีมาอย่างรวดเร็วสำหรับเอกสารของคุณ

JSON Schema Types

Supported JSON Schema data types:

  • string - Text values
  • number - Decimal numbers
  • integer - Whole numbers
  • boolean - true/false
  • array - Ordered lists
  • object - Key-value pairs
  • null - Null value

คุณสมบัติ

สร้างสกีมาอัตโนมัติ

วาง JSON ใดก็ได้และรับสกีมาที่สมบูรณ์พร้อมประเภท รูปแบบ และโครงสร้างที่ตรวจจับอัตโนมัติ

การตรวจสอบสกีมา

ตรวจสอบข้อมูล JSON กับสกีมาใดก็ได้และดูข้อความข้อผิดพลาดโดยละเอียดสำหรับความไม่ตรงกัน

หลายเวอร์ชันแบบร่าง

รองรับ Draft-04, Draft-06 และ Draft-07 ตามข้อกำหนดโปรเจกต์ของคุณ

ส่วนตัวและออฟไลน์

ทำงานทั้งหมดในเบราว์เซอร์ของคุณ ไม่มีข้อมูล JSON ถูกส่งไปยังเซิร์ฟเวอร์ใดๆ

วิธีใช้งาน

1

วาง JSON ของคุณ

วางข้อมูล JSON ของคุณในพื้นที่อินพุตหรือลองตัวอย่างที่จัดเตรียมไว้

2

กำหนดค่าตัวเลือก

เลือกเวอร์ชันแบบร่างและสลับตัวเลือกเช่นฟิลด์จำเป็นและคุณสมบัติเพิ่มเติม

3

สร้างหรือตรวจสอบ

คลิกสร้างสกีมาเพื่อสร้างสกีมา หรือสลับไปยังแท็บตรวจสอบเพื่อตรวจ JSON กับสกีมา

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

JSON Schema คือคำศัพท์สำหรับใช้อธิบาย (annotating) และตรวจสอบความถูกต้องของเอกสาร JSON โดยจะอธิบายโครงสร้างที่คาดหวัง, ประเภทข้อมูล, ฟิลด์ที่จำเป็น และข้อจำกัดต่างๆ ของ JSON ของคุณ เอกสาร schema เองก็เป็นรูปแบบ JSON และสามารถนำไปใช้เพื่อตรวจสอบความถูกต้องอัตโนมัติสำหรับ API payloads, ข้อมูลอินพุตจากฟอร์ม, ไฟล์การตั้งค่า หรือบันทึกในฐานข้อมูล นอกจากนี้ยังเป็นพื้นฐานของ OpenAPI/Swagger specifications และนิยมใช้อย่างแพร่หลายใน CI pipelines สำหรับการทดสอบ data contract

วาง JSON ที่ถูกต้องลงไปแล้วคลิก Generate Schema เครื่องมือจะตรวจสอบคุณสมบัติทุกอย่างแบบ recursive, วิเคราะห์ประเภทข้อมูล (string, number, integer, boolean, null, object, array), ตรวจหาฟอร์แมตสตริงที่พบบ่อย (date-time, email, URI, UUID) และสร้างโครงสร้าง schema ที่สมบูรณ์ ตัวเลือกต่างๆ ช่วยให้คุณสามารถกำหนดให้ทุกฟิลด์เป็นฟิลด์ที่จำเป็น (required), ไม่อนุญาตให้มีคุณสมบัติเพิ่มเติม หรือเพิ่ม placeholder สำหรับคำอธิบายเพื่อใช้ในการทำเอกสารประกอบ

Draft-07 เป็นตัวเลือกที่เหมาะสมสำหรับโครงการส่วนใหญ่ — เนื่องจากเป็นเวอร์ชันที่มีการรองรับอย่างแพร่หลายที่สุด และเพิ่มคุณสมบัติอย่างเงื่อนไข if/then/else และคำสำคัญสำหรับการเข้ารหัสเนื้อหา (content encoding keywords) ส่วน Draft-06 จะนำเสนอ "const" และ "contains" ส่วน Draft-04 เป็นรุ่นเก่าที่สุดและควรใช้เฉพาะเมื่อเครื่องมือเฉพาะทาง (validator รุ่นเก่า, เครื่องมือ Swagger 2.0 บางตัว) บังคับให้ใช้เท่านั้น หากไม่แน่ใจ ให้เลือกใช้ Draft-07

ได้ โดยไปที่แถบ Validate วางข้อมูล JSON ของคุณในพาเนลด้านซ้ายและ schema ในพาเนลด้านขวา จากนั้นคลิก Validate เครื่องมือจะรันการตรวจสอบฉบับเต็มและรายงานข้อผิดพลาดแต่ละจุดพร้อมเส้นทางของฟิลด์และรายละเอียดการละเมิดกฎ สิ่งนี้ช่วยให้คุณสามารถตรวจสอบ JSON จาก API, การส่งข้อมูลจากฟอร์ม หรือไฟล์การตั้งค่าเทียบกับ schema ใดๆ ก็ได้ — ไม่จำกัดเฉพาะเครื่องมือที่สร้างจากโปรแกรมนี้เท่านั้น

คำสำคัญ required จะระบุฟิลด์ที่ต้องมีอยู่ใน JSON เมื่อคุณเปิดใช้งาน "Mark all fields as required" ทุก Key ที่พบในตัวอย่าง JSON ของคุณจะถูกเพิ่มเข้าไปใน array ของ required ในทางปฏิบัติ คุณมักจะแก้ไขรายการนี้หลังจากการสร้างเสร็จสิ้น — โดยการนำ Key ที่เป็นออปชันออก การที่ฟิลด์ถูกกำหนดว่าเป็น required หมายความว่าการตรวจสอบจะล้มเหลวหากไม่มี Key นั้น แต่ไม่ได้ระบุอะไรเกี่ยวกับค่าของฟิลด์ที่ไม่ใช่ null

เมื่อตั้งค่า additionalProperties เป็น false ใน schema การตรวจสอบจะปฏิเสธ JSON ใดๆ ที่มี Key ไม่ได้กำหนดไว้ในอ็อบเจ็กต์ properties สิ่งนี้มีประโยชน์สำหรับ API contracts ที่เข้มงวดที่คุณต้องการดักจับการพิมพ์ผิดในชื่อฟิลด์หรือป้องกันไม่ให้ลูกค้าส่งฟิลด์ที่ไม่ได้ประกาศมา การตั้งค่าเป็น true (หรือละเว้นไว้) จะอนุญาตให้มีฟิลด์พิเศษเพิ่มเติมโดยไม่มีข้อผิดพลาดในการตรวจสอบ — เหมาะสำหรับ schema ที่ต้องการรองรับความเข้ากันได้ย้อนหลัง (forward-compatible)

ดาวน์โหลดหรือคัดลอก schema จากนั้นใช้ไลบรารีสำหรับการตรวจสอบ เช่น Ajv (JavaScript/Node.js), jsonschema หรือ jsonschema-rs (Python/Rust), Newtonsoft.Json.Schema (C#) หรือ NetworkNT JSON Schema Validator (Java) ตัวอย่างใน Ajv: const validate = ajv.compile(schema); const valid = validate(data). นอกจากนี้ไฟล์ schema ยังสามารถอ้างอิงใน OpenAPI specs ภายใต้ components/schemas เพื่อสร้างเอกสารประกอบอัตโนมัติได้อีกด้วย

ปลอดภัย เครื่องมือนี้ทำงานบนเบราว์เซอร์ของคุณ 100% ข้อมูล JSON ของคุณจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ใดๆ, ไม่มีการจัดเก็บ หรือการบันทึก Log คุณสามารถใช้งานได้อย่างปลอดภัยกับ API responses ที่มีข้อมูลยืนยันตัวตน, ไฟล์ตั้งค่าภายใน หรือข้อมูลที่ละเอียดอ่อนใดๆ

ตัวสร้าง JSON Schema คืออะไร?

ตัวสร้าง JSON Schema สร้างคำจำกัดความ JSON Schema โดยอัตโนมัติจากข้อมูล JSON ตัวอย่าง แทนที่จะเขียนคำจำกัดความสกีมาด้วยมือ คุณเพียงวาง JSON แล้วเครื่องมือจะอนุมานประเภท โครงสร้าง อ็อบเจกต์ซ้อน และอาร์เรย์เพื่อผลิตเอกสารสกีมาที่ถูกต้อง ซึ่งช่วยประหยัดเวลาทำงานด้วยมือหลายชั่วโมงและลดโอกาสเกิดข้อผิดพลาดในคำจำกัดความสกีมา

วิธีการทำงาน

ตัวสร้างจะวิเคราะห์อินพุต JSON ของคุณและเดินผ่านทุกคุณสมบัติแบบวนซ้ำ มันตรวจจับประเภทข้อมูล (string, number, integer, boolean, null, object, array) ระบุรูปแบบสตริงเช่นวันที่และอีเมล และสร้างโครงสร้างสกีมาที่สมบูรณ์ คุณสามารถปรับแต่งผลลัพธ์ด้วยตัวเลือกสำหรับฟิลด์จำเป็น คุณสมบัติเพิ่มเติม และตัวยึดตำแหน่งคำอธิบาย ทุกอย่างทำงานฝั่งไคลเอนต์ในเบราว์เซอร์ของคุณ

กรณีใช้งานทั่วไป

นักพัฒนาใช้ตัวสร้าง JSON Schema เพื่อจัดทำเอกสาร REST API ตรวจสอบไฟล์การกำหนดค่า บังคับใช้สัญญาข้อมูลระหว่างไมโครเซอร์วิส และสร้างตัวตรวจสอบแบบฟอร์ม สกีมาที่สร้างจากการตอบกลับ API จริงทำหน้าที่เป็นเอกสารที่มีชีวิตซึ่งสามารถทดสอบอัตโนมัติในไปป์ไลน์ CI ยังจำเป็นสำหรับข้อกำหนด OpenAPI และ Swagger

ความเป็นส่วนตัวและความปลอดภัย

ตัวสร้าง JSON Schema นี้ทำงาน 100% ฝั่งไคลเอนต์ การวิเคราะห์ การสร้างสกีมา และการตรวจสอบทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณด้วย JavaScript ไม่มีข้อมูล JSON ถูกส่งไปยังเซิร์ฟเวอร์ใดๆ ไม่มีคุกกี้ติดตามอินพุตของคุณ และไม่มีอะไรถูกจัดเก็บเกินกว่าเซสชันปัจจุบัน ปลอดภัยสำหรับ API ที่เป็นกรรมสิทธิ์ การกำหนดค่าภายใน และข้อมูลที่ละเอียดอ่อน

ความปลอดภัยและความเป็นส่วนตัว

ความปลอดภัยของข้อมูลของคุณคือความสำคัญอันดับแรกของเรา

การประมวลผลภายใน

การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ

ไม่มีการถ่ายโอนข้อมูล

ข้อมูลของคุณจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ของเรา

ไม่มีการจัดเก็บข้อมูล

ไม่มีข้อมูลถูกเก็บหรือแบ่งปัน

การเข้ารหัส SSL

การเข้ารหัส SSL สำหรับการเชื่อมต่อที่ปลอดภัย

อีกมากมายใน MoreOnlineTools