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.
Code examples
import json
with open("duplicate-keys.json") as f:
data = json.load(f)
print(type(data), len(data))Related files
- jsonIntentionally Invalid JSONAn 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.

- csvCSV with Mixed Null RepresentationsA CSV where missing values are written seven different ways — empty string, NULL, NA, N/A, null, None, and a dash — across text and numeric columns. A fixture for testing null-detection and coercion in CSV importers.

- csvCSV with Mixed Timestamp FormatsA CSV listing timestamps in eleven formats — ISO 8601 with Z and numeric offsets, millisecond precision, naive local, date-only, Unix epoch in seconds and milliseconds, US AM/PM, and RFC 1123. A fixture for testing date parsing and timezone normalisation.

- csvCSV with Mixed-Type ColumnsA CSV whose 'value' column mixes integers, floats, scientific notation, dates, hex, thousands separators, and whitespace, and whose 'flag' column mixes a dozen boolean spellings. A torture test for type inference and schema detection.

- jsonDeeply Nested JSONA deeply nested JSON document with objects inside arrays inside objects — for testing recursive parsing and path access.

- logDocker Container Log — json-file driver (log)A Docker json-file container log — one JSON object per line with the log text, stream (stdout/stderr), and an RFC 3339 timestamp, exactly as Docker's default logging driver writes it. A fixture for container-log shippers and parsers.

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