Skip to content
Novus Examples
json234 B

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.

Preview — first 15 linesjson
{
  "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))

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