Skip to content
Novus Examples
json91 B

Product Instance — Invalid (JSON)

A product object that deliberately violates the product JSON Schema in five ways (out-of-range id, empty name, non-positive price, wrong boolean type, an extra property) — the negative case for testing validator error reporting.

Preview — first 8 linesjson
{
  "product_id": 0,
  "name": "",
  "price": -5,
  "in_stock": "yes",
  "colour": "red"
}

Specifications

Conforms To
product.schema.json
Valid
false
Violations
product_id<1, empty name, price<=0, in_stock not boolean, extra property

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

“Product Instance — Invalid (JSON)” is a deterministic Novus Examples fixture for Schema validation, Error handling. JSON Schema documents describing a data shape — for testing validators and schema-aware tooling.

Documented properties for this file: intentionally invalid. 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.

Code examples

import json

with open("product-invalid.json") as f:
    data = json.load(f)
print(type(data), len(data))

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