Intentionally Invalid JSON
An intentionally invalid JSON file with a trailing comma and a missing closing brace — for testing parser error handling and messages. Not valid JSON by design.
{
"id": 1,
"name": "Intentionally Invalid",
"items": [1, 2, 3,],
"note": "trailing comma above, missing closing brace below",
"nested": { "a": 1, "b": 2
}
Specifications
- Valid
- false
- Errors
- trailing comma, missing closing brace
- Intentionally Corrupt
- true
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
“Intentionally Invalid JSON” is a deterministic Novus Examples fixture for JSON parsing, Error handling. Flat, deeply nested, JSON Lines, and intentionally invalid JSON for testing parsers and error handling.
Documented properties for this file: intentionally corrupt · 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.
Feed the file to your parser and assert it handles the documented quirks — quoted delimiters, embedded newlines, ragged rows, or invalid syntax; the valid↔invalid distinction is labelled in the title.
Code examples
import json
with open("invalid.json") as f:
data = json.load(f)
print(type(data), len(data))Related files
- jsonAPI Problem+JSON — Bad Request (400)RFC 7807 SAMPLE problem document for HTTP 400 (Bad Request) client tests.

- jsonAPI Problem+JSON — Conflict (409)RFC 7807 SAMPLE problem document for HTTP 409 (Conflict) client tests.

- jsonAPI Problem+JSON — Forbidden (403)RFC 7807 SAMPLE problem document for HTTP 403 (Forbidden) client tests.

- jsonAPI Problem+JSON — Gone (410)RFC 7807 SAMPLE problem document for HTTP 410 (Gone) client tests.

- jsonAPI Problem+JSON — Internal Server Error (500)RFC 7807 SAMPLE problem document for HTTP 500 (Internal Server Error) client tests.

- jsonAPI Problem+JSON — Not Acceptable (406)RFC 7807 SAMPLE problem document for HTTP 406 (Not Acceptable) client tests.

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