Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pascalpost/json-schema-validator
JSON schema validator for Zig
https://github.com/pascalpost/json-schema-validator
json-schema validation validator zig ziglang
Last synced: about 6 hours ago
JSON representation
JSON schema validator for Zig
- Host: GitHub
- URL: https://github.com/pascalpost/json-schema-validator
- Owner: pascalPost
- License: mit
- Created: 2024-10-04T07:55:48.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-15T19:51:58.000Z (about 20 hours ago)
- Last Synced: 2025-01-15T22:06:46.313Z (about 18 hours ago)
- Topics: json-schema, validation, validator, zig, ziglang
- Language: Zig
- Homepage:
- Size: 87.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# json-schema-validator
A JSON Schema validator implementation written in Zig, following the [Two-Argument Validation](https://json-schema.org/implementers/interfaces#two-argument-validation) interface specification.
## Overview
This project aims to provide a robust JSON Schema validation solution implemented in Zig for the Zig ecosystem. It currently supports various JSON Schema draft-07 validation features and is actively being developed to support more.
## Dependencies
- Zig compiler
- C++ Standard Library (for regex support)## Implementation Details
The validator currently uses C++ regex implementation for pattern matching, requiring linkage against the C++ standard library.
## Features Implementation Status
- [ ] draft-07 tests
- [x] additionalItems.json
- [x] additionalProperties.json
- [ ] allOf.json
- [ ] anyOf.json
- [ ] boolean_schema.json
- [x] const.json
- [ ] contains.json
- [ ] default.json
- [ ] definitions.jsoe
- [ ] dependencies.json
- [x] enum.json
- [x] exclusiveMaximum.json
- [x] exclusiveMinimum.json
- [ ] format.json
- [ ] if-then-else.json
- [ ] infinite-loop-detection.json
- [x] items.json
- [x] maxItems.json
- [x] maxLength.json
- [x] maxProperties.json
- [x] maximum.json
- [x] minItems.json
- [x] minLength.json
- [x] minProperties.json
- [x] minimum.json
- [x] multipleOf.json
- [ ] not.json
- [ ] oneOf.json
- [x] pattern.json
- [x] patternProperties.json
- [x] properties.json
- [ ] propertyNames.json
- [ ] ref.json
- [ ] refRemote.json
- [x] required.json
- [x] type.json
- [x] uniqueItems.json## Contributing
Contributions are welcome! Feel free to submit pull requests, especially for implementing pending features.