Skip to content
Novus Examples
json608 B

User JSON Schema (draft 2020-12)

Draft 2020-12 JSON Schema for a user object with email format and role enum — paired with valid/invalid instances.

Preview — first 34 linesjson
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.com/schemas/user.json",
  "title": "User",
  "type": "object",
  "required": [
    "user_id",
    "email",
    "active"
  ],
  "additionalProperties": false,
  "properties": {
    "user_id": {
      "type": "integer",
      "minimum": 1
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "active": {
      "type": "boolean"
    },
    "role": {
      "type": "string",
      "enum": [
        "admin",
        "member",
        "guest"
      ]
    }
  }
}

Specifications

Spec
JSON Schema draft 2020-12
Required
user_id, email, active
Seed
42042

What is a .json file?

JSON (JavaScript Object Notation) is a lightweight, text-based data-interchange format representing objects, arrays, strings, numbers, booleans, and null. It is language-independent, human-readable, and the dominant format for web APIs and configuration. It requires a single well-formed root value.

How to use this file

Use an example JSON file to test parsers and serializers, schema validation, Unicode and number-precision handling, and API request or response processing.

How to use this file for testing

“User JSON Schema (draft 2020-12)” is a deterministic Novus Examples fixture for Schema / OpenAPI testing, JSON parsing. Valid and intentionally invalid OpenAPI/JSON Schema documents plus request/response examples for schema validators and API tooling.

Documented properties for this file: seed 42042. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Data fixtures document their exact quirks — delimiters, encodings, null handling, schema, and row counts — in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.

Valid and intentionally invalid siblings are labelled in title and description. Assert parsers accept the valid twin and fail loudly on the invalid one; for time series, check DST gaps and duplicate keys against the spec table.

Code examples

import json

with open("user.schema.json") as f:
    data = json.load(f)
print(type(data), len(data))

Generated by generation/data_wave_f.py. Free for any use, no attribution required — license.