
Why JSON Has No Comments and What People Do Instead
JSON has no comment syntax by design, so a // note fails in every parser tested. What people do instead: _comment keys, $comment, JSONC, JSON5 and YAML.
Nested, loosely typed and everywhere. Query it, flatten it, validate it and store it without losing what the nesting meant.

JSON has no comment syntax by design, so a // note fails in every parser tested. What people do instead: _comment keys, $comment, JSONC, JSON5 and YAML.

JSON has six value types and no date, binary, integer, decimal, set or undefined. See what Python and JavaScript do to each missing type when they serialize.

The JSON grammar fits on a page, and parsers still disagree on trailing commas, NaN, duplicate keys, big numbers and more. A 26-case test across five parsers.

Three ways to rewrite a renamed JSON property across 1.5 million events in PostgreSQL: one UPDATE, batches and a table swap, with WAL, bloat and leftovers.

Fix invalid input syntax for type numeric on a JSON property that became a string, null or object, with jsonb_typeof, pg_input_is_valid and a function.

Expression, partial and GIN indexes on a 2.25 million row jsonb event table: a selective lookup fell from 65 ms to 5 ms, a 4 percent filter got slower.

A nightly job that turns jsonb event properties into a typed facts table in PostgreSQL: safe casts, a watermark, idempotent inserts and a 47x speedup.

Four designs for the same 500,000 purchase events compared on size and query time: verbose nesting, short flat keys, hybrid columns and key/value arrays.

Read a package metadata document where version numbers are keys: json_each, DuckDB MAP inference, semver sorting, dist-tags versus max, and the time map.

Convert YAML to JSON with PyYAML and ruamel.yaml, and handle dates, yes and no, octal numbers, non-string keys, anchors, multiple documents and floats.

Convert JSON to YAML with yq, Python's yq and a PyYAML one-liner, and see which strings get corrupted by YAML 1.1 readers: NO, yes, 12:30, 0123 and 1e3.

Weather APIs return columns as parallel arrays. Turn them into rows with pandas and DuckDB, handle nulls and unequal lengths, and keep units and zones.
We send one email when a new article is published. No spam.