A key path lists where a field sits, and it drops array indexes. A JSON Pointer addresses one value, and a slash inside a key is written as ~1.
A key path lists where a field sits, and it drops array indexes. A JSON Pointer addresses one value, and a slash inside a key is written as ~1.
CSV is a table of rows and columns. JSON is a typed tree. Converting an array of objects to CSV keeps nested values as JSON text in cells. That is a limit, not a failure of the table.
JSON Schema is a contract for instances that already parse. A schema generated from one sample marks present keys required and cannot see optional fields, enums, or combinators.
Infer interfaces from one API JSON sample, then mark optional keys by hand. Present keys are required. The next response will not match if you treat the draft as the contract.
Parse both sides, ignore object key order, then compare values. Sort keys first if git noise is the only difference. Arrays are compared by index, not by moves.
Generate a draft-07-style schema from one sample, edit required keys, then validate a second payload. A sample is a starting point, not a complete contract.
JSON is a strict data language. YAML is a superset with comments, anchors, and multiple documents. Choose JSON when you need one unambiguous parse; choose YAML when humans edit config and the subset is documented.
JSON is one value. JSON Lines (NDJSON) is one JSON value per line, usually for logs and streams. An object is not a JSON Lines file, and a pretty-printed array is not NDJSON.
Validate nested JSON first, walk it as a tree, then extract key paths. Pretty-print helps you read; it does not invent missing fields or types.
Convert JSON Lines (NDJSON) to a JSON array, or a JSON array back to one JSON value per line, in your browser. Empty lines are skipped.