JSON with Duplicate Keys
A JSON object that repeats several member names (name, tags, timeout, active). RFC 8259 permits duplicate keys but leaves the result parser-defined — most keep the last. A fixture for testing how a JSON parser resolves duplicates.
{
"id": 1,
"name": "first value",
"name": "second value",
"tags": ["a"],
"tags": ["a", "b", "c"],
"config": {
"timeout": 30,
"timeout": 60,
"retries": 3
},
"active": true,
"active": false
}
Specifications
- Note
- duplicate object member names (id/name/tags/timeout/active)
- Spec
- RFC 8259 permits; behaviour is parser-defined (usually last-wins)
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
“JSON with Duplicate Keys” 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: JSON · 234 bytes. 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("duplicate-keys.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_edgecases.py. Free for any use, no attribution required — license.