Kepatuhan. Dokumen implementasi ini yang harus Anda setel handleNullableField ke false untuk menghasilkan perilaku yang sesuai dengan spesifikasi
Lisensi. Lisensi Apache2. 0
Catatan. Mendukung OpenAPI 3. 0 dengan pengurai Jackson
Informasi terakhir diperbarui. 31-08-2022
Salju
Mendukung. 2019-09 draf-07, -06
Lisensi. Lisensi Publik Umum GNU Affero v3. 0
Catatan. Menggunakan Maven untuk proyek dan Gson di bawah tenda
Informasi terakhir diperbarui. 31-08-2022
everit-org/json-skema
Mendukung. draf-07, -06, -04
Lisensi. Lisensi Apache2. 0
Informasi terakhir diperbarui. 31-08-2022
Membenarkan
Mendukung. draf-07, -06, -04
Lisensi. Lisensi Apache2. 0
Informasi terakhir diperbarui. 31-08-2022
JavaScript
Hyperjump JSV
Mendukung. 2020-12, draf 2019-09-07, -06, -04
Lisensi. MIT
Catatan. Dibangun untuk Node. js dan browser. Termasuk dukungan untuk kosakata khusus
Informasi terakhir diperbarui. 31-08-2022
ajv
Mendukung. 2020-12, draf 2019-09-07, -06, -04
Kepatuhan. Implementasi ini mendokumentasikan bahwa Anda harus menyetel opsi strict: false untuk menghasilkan perilaku yang sesuai dengan spesifikasi
Lisensi. MIT
Catatan. untuk Node. js dan browser - mendukung kata kunci yang ditentukan pengguna dan referensi $data
Informasi terakhir diperbarui. 31-08-2022
@cfworker/json-skema
Mendukung. Draf 2019-09-07, -06, -04
Lisensi. MIT
Catatan. Dibangun untuk pekerja Cloudflare, browser, dan Node. js
Informasi terakhir diperbarui. 31-08-2022
Perpustakaan Skema JSON
Mendukung. draf-07, -06, -04
Lisensi. MIT
Catatan. Dibangun untuk Node. js dan browser. Utilitas json-validator dan json-skema yang dapat disesuaikan untuk traversal, pembuatan data, dan validasi
Informasi terakhir diperbarui. 31-08-2022
djv
Mendukung. draf-06, -04
Lisensi. MIT
Catatan. untuk Node. js dan browser
Informasi terakhir diperbarui. 31-08-2022
vue-vuelidate-jsonschema
Mendukung. draf-06
Lisensi. MIT
Informasi terakhir diperbarui. 31-08-2022
Kotlin
Media-validator
Mendukung. draf-07, -06, -04
Lisensi. Lisensi Apache2. 0
Catatan. validator streaming untuk klien Kotlin dan Java;
Informasi terakhir diperbarui. 31-08-2022
skema json-kotlin
Mendukung. 2019-09 draf-07
Lisensi. MIT
Catatan. Implementasi Kotlin dari Skema JSON. (Saat ini mendukung sebagian besar Draf 7; lihat README untuk detailnya. Kepatuhan penuh dengan Draf 7 dan draf selanjutnya sedang dalam proses. )
Informasi terakhir diperbarui. 31-08-2022
Lua/LuaJIT
lua-resty-jsonschema
Mendukung. draf-07, -06, -04
Lisensi. MIT
Informasi terakhir diperbarui. 31-08-2022
Objective-C
DSJSONSchemaValidation
Mendukung. draf-07, -06, -04
Lisensi. MIT
Informasi terakhir diperbarui. 31-08-2022
PHP
Penjabaran dari Skema Json
Mendukung. 2020-12, 2019-09 draf-07, -06
Kepatuhan. Implementasi ini yang harus Anda atur beberapa opsi ke nilai "vanilla" mereka untuk menghasilkan perilaku yang sesuai dengan spesifikasi
Lisensi. Lisensi Apache2. 0
Informasi terakhir diperbarui. 31-08-2022
Skema Json Swaggest
Mendukung. draf-07, -06, -04
Lisensi. MIT
Informasi terakhir diperbarui. 31-08-2022
Perl
JSON. Skema. Modern
Mendukung. 2020-12, 2019-09 draf-07
Lisensi. Lisensi Publik Umum GNU, Versi 1 + Lisensi Artistik 1. 0
Informasi terakhir diperbarui. 31-08-2022
JSON. Skema. Kecil
Mendukung. 2020-12, 2019-09 draf-07
Lisensi. Lisensi Publik Umum GNU, Versi 1 + Lisensi Artistik 1. 0
Informasi terakhir diperbarui. 31-08-2022
JSON. Validator
Mendukung. Draf 2019-09-07, -06, -04
Lisensi. Lisensi Artistik 2. 0 (Kompatibel dengan GPL)
Catatan. Performa luar biasa berkat pembuatan kode
Informasi terakhir diperbarui. 31-08-2022
jsonschema-rs (Python)
Mendukung. draf-07, -06, -04
Dibangun di atas.
Lisensi. MIT
Catatan. Pengikatan Python ke peti skema Rust json
Informasi terakhir diperbarui. 31-08-2022
Rubi
JSONSchemer
Mendukung. draf-07, -06, -04
Lisensi. MIT
Informasi terakhir diperbarui. 31-08-2022
JSI
Mendukung. draf-07, -06, -04
Lisensi. AGPL-3. 0
Informasi terakhir diperbarui. 31-08-2022
Karat
jsonschema-rs
Mendukung. 2020-12, draf 2019-09-07, -06, -04
Lisensi. MIT
Catatan. Cepat karena menyusun skema menjadi pohon validasi;
Informasi terakhir diperbarui. 31-08-2022
Skala
Validator Inti Circe JSON Reaktif
Mendukung. 2020-12, 2019-09 draf-0
Lisensi. Lisensi Apache, Versi 2. 0
Catatan. Berdasarkan Circe-Library -Status awal dan API mungkin tidak stabil. Belum siap produksi
Informasi terakhir diperbarui. 31-08-2022
Web (Online)
Hyperjump JSV (daring)
Mendukung. 2020-12, draf 2019-09-07, -06, -04
Dibangun di atas.
Catatan. Mendukung banyak skema dan banyak contoh;
Informasi terakhir diperbarui. 31-08-2022
json-semuanya
Mendukung. 2020-12, 2019-09 draf-07, -06
Dibangun di atas.
Catatan. Didukung oleh JsonSchema. Net di Blazor WASM untuk validasi sisi klien
Informasi terakhir diperbarui. 31-08-2022
jschon. dev
Mendukung. 2020-12, 2019-09 draf-0
Dibangun di atas.
Informasi terakhir diperbarui. 31-08-2022
Validator Skema JSON
Mendukung. Draf 2019-09-07, -06, -04, -03
Dibangun di atas.
Catatan. validasi sisi server
Informasi terakhir diperbarui. 31-08-2022
jsonschema. dev
Mendukung. draf-07
Dibangun di atas.
Catatan. validasi sisi klien
Informasi terakhir diperbarui. 31-08-2022
Serat Skema JSON
Mendukung. draf-07, -06, -04, -03, -02, -01
Dibangun di atas.
Catatan. Menggunakan JSV untuk draf-03 dan sebelumnya
Informasi terakhir diperbarui. 31-08-2022
Validator Skema JSON ExtendsClass
Mendukung. draf-07
Dibangun di atas.
Informasi terakhir diperbarui. 31-08-2022
Tolak ukur
Tolok ukur yang membandingkan setidaknya dua implementasi yang mendukung draf-06+ dapat dicantumkan di sini
Pergi
validator-benchmarks - benchmark validator Go JSON Schema berdasarkan test suite resmi
JavaScript
json-schema-benchmark - tolok ukur independen untuk Node. js validator skema JSON berdasarkan JSON-Schema Test Suite (MIT)
PHP
php-json-schema-bench - tolok ukur komparatif untuk validator JSON-skema PHP menggunakan JSON-Schema Test Suite dan z-schema/JSCK (MIT)
dokumentasi API
JavaScript
@cloudflare/doca (JSON Schema Tools), draft-04, -06, -07, dan ekstensi Doca (UI akan segera hadir)
@adobe/jsonschema2md memudahkan dengan menyediakan sejumlah skrip yang dapat mengubah file Skema JSON menjadi dokumentasi Markdown yang dapat dibaca yang siap untuk dikonsumsi di GitHub atau diproses menggunakan Jekyll atau generator situs statis lainnya. Skema JSON 2019-09 (sebagian)
Piton
FastAPI (MIT) adalah kerangka kerja API berdasarkan Python 3. 6+ tipe yang menghasilkan skema OpenAPI 3, termasuk Skema JSON untuk semua model yang dideklarasikan
Generator skema tidak perlu mendukung pembuatan setiap kata kunci skema. Untuk generator skema, kompatibilitas dengan draf juga berarti demikian
Skema yang dihasilkan secara eksplisit mengatur draf dengan $schema
Skema menghasilkan kekurangan $schema tetapi valid terhadap skema meta yang sesuai
Misalnya, satu-satunya ketidaksesuaian antara draf-04 dan draf-06 melibatkan exclusiveMinimum, exclusiveMaximum, dan resolve-remote-references0 vs resolve-remote-references1. Jika generator tidak menyetel $schema dan tidak pernah memancarkan kata kunci tersebut, maka itu kompatibel dengan draft-06 bahkan jika itu ditulis dengan mengingat draft-04
Dari kode
BERSIH
Json. NET (AGPL-3. 0) - menghasilkan skema dari. jenis NET
NJsonSchema - (Ms-PL) - menghasilkan skema dari. Jenis .NET, lihat masalah 574 untuk draf-06+ kemajuan dukungan
JsonSchema. Bersih. Generation (MIT) - menghasilkan skema dari. jenis NET
Pergi
jsonschema - (MIT) - menghasilkan skema dari struct Go. Mendukung Draf 2020-12
PHP
Liform (MIT) - menghasilkan skema dari formulir Symfony
TypeScript
skrip-json-skema
Piton
Pydantic (MIT) - menghasilkan skema dari model Python berdasarkan Python 3. 6+ ketik petunjuk
msgspec (BSD-3-Clause) - menghasilkan skema dari anotasi tipe Python
Jawa
jsonschema-generator (Apache 2. 0) - menghasilkan skema dari tipe Java yang mendukung Draf 7 dan Draf 2019-09
Skala
scala-jsonschema (Apache 2. 0) - menghasilkan skema dari kelas kasus Scala
Rubi
Shale (MIT) - menghasilkan skema dari model Ruby yang mendukung Draf 2020-12
Dari data
Jawa
saasquatch/json-schema-inferrer draf-07, -06, -04 (Apache 2. 0) - Pustaka Java untuk menyimpulkan Skema JSON dari satu atau beberapa sampel JSON
Skala
Skema Guru (Apache 2. 0) - Utilitas CLI, Spark Job, dan UI Web untuk menurunkan Skema JSON dari korpus instance JSON;
JSONoid (MIT) - alat baris perintah dan aplikasi Spark untuk menyimpulkan skema dari dokumen JSON, mendukung draf 2019-09
Clojure
luposlip/json-skema (Apache 2. 0) - menyimpulkan Skema JSON dari data Clojure
Daring (alat web)
jsonschema. net - menghasilkan skema dari data contoh
Liquid Online Tools - simpulkan Skema JSON dari sampel data JSON
- menyimpulkan Skema JSON dari sampel, dan menghasilkan TypeScript, C++, go, Java, C#, Swift, dll. jenis dari Skema JSON
Generator dari skema
Alat yang menghasilkan artefak dari skema tidak perlu mendukung setiap kata kunci, karena tidak semua kata kunci berfungsi dengan baik untuk kasus penggunaan generatif
Generator dianggap kompatibel dengan draf jika mendukung (atau mengabaikan) nilai $schema yang sesuai, dan menginterpretasikan kata kunci yang didukung menurut draf tersebut
Misalnya, jika generator yang awalnya ditulis untuk draft-04 tidak mendukung resolve-remote-references0, exclusiveMinimum, atau resolve-remote-references6, maka selama tidak memerlukan draft-04 $schema, itu kompatibel dengan draft-06 karena hanya itu saja
Pembuatan kode
Elm
json-schema-to-elm - menghasilkan jenis Elm, dekoder JSON+enkode, dan uji fuzz dari satu atau lebih file Skema JSON, menggunakan dragonwasrobot/json_schema mendukung Draf 7
Pergi
go-jsonschema - menghasilkan tipe Go dan pembantu dari file skema JSON mendukung Draf 2020-12
Jawa
jsonCodeGen (MIT) - Tugas pembuatan berbasis Groovy dari skema JSON. Sudah termasuk template/generator untuk Java Beans, file spesifikasi Swagger dan diagram PlantUML
jsonschema2pojo (Apache 2. 0) - menghasilkan tipe Java dari Skema JSON (atau contoh JSON) dan dapat membubuhi keterangan tipe tersebut untuk pengikatan data dengan Jackson 2. x atau Gson. draf-07
jsonschematypes (Apache 2. 0) - Pustaka Java untuk menghasilkan kelas Java atau TypeScript dari Skema JSON standar. Skema JSON 2019-09, draf-07, -06, -04, -03
json-kotlin-schema-codegen (MIT) - Menghasilkan kelas data Kotlin, kelas Java, atau antarmuka TypeScript dari Skema JSON
Daring (alat web)
- menyimpulkan Skema JSON dari sampel, dan menghasilkan TypeScript, C++, go, Java, C#, Swift, dll. jenis dari Skema JSON
PHP
php-code-builder(MIT) - menghasilkan struktur pemetaan PHP yang didefinisikan oleh skema JSON menggunakan swaggest/json-schema mendukung Draft 7
Piton
yacg (MIT) - parsing file JSON Schema dan OpenApi untuk membuat model meta darinya. Model meta ini dapat digunakan dalam template Mako untuk menghasilkan kode sumber, skema lain, atau plantUml
statham (MIT) - menghasilkan model beranotasi tipe dari dokumen Skema JSON
Karat
schemafy - menghasilkan tipe Rust dan kode serialisasi dari skema JSON. mendukung Draf 4
Kompatibilitas draf untuk utilitas umumnya khusus untuk tujuan utilitas, dan diputuskan berdasarkan kasus per kasus
Bagaimana cara membaca Skema JSON dengan Python?
jsonschema adalah implementasi Skema JSON untuk Python. .
Pertama, instal jsonschema menggunakan perintah pip. pip install jsonschema
Tentukan Skema. Jelaskan jenis JSON yang Anda harapkan
Konversikan JSON ke Objek Python menggunakan json. memuat atau json. .
Lewati JSON yang dihasilkan untuk memvalidasi () metode skema json
Bagaimana cara menghasilkan kode Python dari json?
Apa yang akan Anda lakukan adalah. .
Parsing input menggunakan backend JSON pilihan Anda
Validasi bahwa JSON yang diurai valid terhadap skema tempat Anda membuat tipe, menggunakan implementasi validasi JTD. .
Jika inputnya valid, maka buat instance dari tipe yang Anda hasilkan menggunakan metode from_json
Apa itu Skema JSON Python?
jsonschema adalah implementasi spesifikasi Skema JSON untuk Python . validasi(instance={"nama". "Telur", "harga". 34. 99}, skema=skema) >>> validasi(. contoh={"nama". "Telur", "harga". "Invalid"}, skema=skema,. ) Ini juga dapat digunakan dari konsol. $jsonschema --contoh contoh. sampel json. skema.
Bagaimana Anda mereferensikan Skema JSON?
Dalam skema JSON, kata kunci $ref adalah Pointer JSON ke skema, atau tipe atau properti dalam skema . Pointer JSON berbentuk A # B di mana. A adalah jalur relatif dari skema saat ini ke skema target. Jika A kosong, referensinya adalah tipe atau properti dalam skema yang sama, referensi dalam skema.