json_schema_fuzz

Crates.iojson_schema_fuzz
lib.rsjson_schema_fuzz
version0.2.2
created_at2025-04-20 07:32:21.445374+00
updated_at2025-09-23 03:53:12.270569+00
descriptionJSON Schema Fuzzer
homepage
repositoryhttps://github.com/ostrowr/jsoncompat
max_upload_size
id1641468
size46,162
Robbie Ostrow (ostrowr)

documentation

README

json_schema_fuzz

JSON Schema Fuzzer: generate random JSON instances conforming to a JSON Schema.

crates.io docs.rs License: MIT

Installation

Add to your Cargo.toml:

[dependencies]
json_schema_fuzz = "0.2.1"

Usage

use json_schema_ast::{build_and_resolve_schema, SchemaNode};
use json_schema_fuzz::generate_value;
use serde_json::json;
use rand::thread_rng;

let raw = json!({
    "type": "object",
    "properties": {
        "flag": { "type": "boolean" },
        "count": { "type": "integer" }
    },
    "required": ["flag"]
});

// Build AST
let schema_node: SchemaNode = build_and_resolve_schema(&raw).unwrap();

// Generate a random value
let mut rng = thread_rng();
let value = generate_value(&schema_node, &mut rng, 4);

println!("{}", value);

License

Licensed under MIT. See LICENSE.

Commit count: 28

cargo fmt