I find JSON “array of arrays” to be a better solution while also remaining human-readable. Especially when formatted as one array per line, analogous to CSV.
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "array", "items": {"type":"array","items": [ { "type": "number" }, { "type": "string" }, { "enum": ["Street", "Avenue", "Boulevard"] },{ "enum": ["NW", "NE", "SW", "SE"] } ]} }
[[3,"some", "Street", "NE"],
[4,"other", "Avenue", "SE"],
[5,"some", "Boulevard", "SW"]]Now you have tables and relation. Only few people understand the usefulness of Compound Document, currently.
How would any existing JSON parser handle 75GB of data in a single array of arrays?
JSON.Parse() in the browser isn't that sort of parser obviously, but there options in many languages such as both major .NET JSON libraries (Newtonsoft and System.Text.Json) have ways to parse that way. Similar examples exist in other languages too.