เครื่องมือตรวจสอบ JSON ที่เร็วที่สุดสำหรับ Node.js และเบราว์เซอร์
รองรับ JSON Schema Draft-04/06/07/2019-09/2020-12 (การสนับสนุน Draft-04 ต้องใช้แพ็คเกจ ajv-draft-04) และ JSON Type Definition RFC8927
มีผู้คนมากกว่า 100 คนที่บริจาคให้กับ Ajv และเรายินดีเป็นอย่างยิ่งที่จะให้คุณเข้าร่วมการพัฒนา เรายินดีนำคุณลักษณะใหม่ๆ มาใช้ซึ่งจะเป็นประโยชน์ต่อผู้ใช้และแนวคิดมากมายในการปรับปรุงเอกสารประกอบของเรา
โปรดตรวจสอบแนวทางการมีส่วนร่วมและส่วนประกอบของรหัส
เอกสารทั้งหมดมีอยู่บนเว็บไซต์ Ajv
ลิงค์เว็บไซต์ที่มีประโยชน์บางส่วน:
เนื่องจากฉันขอให้สนับสนุนการพัฒนา Ajv คน 40 คนและ 6 องค์กรที่บริจาคผ่าน GitHub และ OpenCollective การสนับสนุนนี้ช่วยให้ได้รับทุน MOSS!
การสนับสนุนอย่างต่อเนื่องของคุณเป็นสิ่งสำคัญมาก - เงินจะถูกใช้ในการพัฒนาและบำรุงรักษา Ajv เมื่อมีการเปิดตัวเวอร์ชันหลักถัดไป
กรุณาสนับสนุน Ajv ผ่านทาง:
ขอบคุณ
Ajv สร้างโค้ดเพื่อเปลี่ยน JSON Schemas ให้เป็นฟังก์ชันการตรวจสอบที่รวดเร็วเป็นพิเศษ ซึ่งมีประสิทธิภาพในการเพิ่มประสิทธิภาพ v8
ปัจจุบัน Ajv เป็นโปรแกรมตรวจสอบที่เร็วและมีมาตรฐานมากที่สุดตามเกณฑ์มาตรฐานเหล่านี้:
ประสิทธิภาพของเครื่องมือตรวจสอบที่แตกต่างกันโดย json-schema-benchmark:
addSchema
หรือคอมไพล์เพื่อให้พร้อมใช้งาน)type
คำสำคัญในการติดตั้งเวอร์ชัน 8:
npm install ajv
ลองใช้ใน Node.js REPL: https://runkit.com/npm/ajv
ในจาวาสคริปต์:
// or ESM/TypeScript import
import Ajv from "ajv"
// Node.js require:
const Ajv = require ( "ajv" )
const ajv = new Ajv ( ) // options can be passed, e.g. {allErrors: true}
const schema = {
type : "object" ,
properties : {
foo : { type : "integer" } ,
bar : { type : "string" } ,
} ,
required : [ "foo" ] ,
additionalProperties : false ,
}
const data = {
foo : 1 ,
bar : "abc" ,
}
const validate = ajv . compile ( schema )
const valid = validate ( data )
if ( ! valid ) console . log ( validate . errors )
เรียนรู้วิธีใช้ Ajv และดูตัวอย่างเพิ่มเติมในคำแนะนำ: การเริ่มต้นใช้งาน
ดูhttps://github.com/ajv-validator/ajv/releases
โปรดทราบ : การเปลี่ยนแปลงในเวอร์ชัน 8.0.0
เวอร์ชัน 7.0.0
เวอร์ชัน 6.0.0.
โปรดตรวจสอบและปฏิบัติตามหลักจรรยาบรรณ
กรุณารายงานพฤติกรรมที่ไม่สามารถยอมรับได้ที่ [email protected] - ทีมงานโครงการจะตรวจสอบพฤติกรรมดังกล่าว
หากต้องการรายงานช่องโหว่ด้านความปลอดภัย โปรดใช้ผู้ติดต่อด้านความปลอดภัยของ Tidelift Tidelift จะประสานการแก้ไขและเปิดเผยข้อมูล กรุณาอย่ารายงานช่องโหว่ด้านความปลอดภัยผ่านปัญหา GitHub
Ajv เป็นส่วนหนึ่งของการสมัครสมาชิก Tidelift โดยให้การสนับสนุนแบบรวมศูนย์สำหรับผู้ใช้ซอฟต์แวร์โอเพ่นซอร์ส นอกเหนือจากการสนับสนุนจากผู้ดูแลซอฟต์แวร์
เอ็มไอที