
Event Analytics on JSON Properties in PostgreSQL Tested
A tested guide to analytics on JSON event data: envelope versus properties, funnels and retention, typed columns, indexes, type drift and backfills.
Nested, loosely typed and everywhere. Query it, flatten it, validate it and store it without losing what the nesting meant.

A tested guide to analytics on JSON event data: envelope versus properties, funnels and retention, typed columns, indexes, type drift and backfills.

A tested guide to testing JSON output: asserts, snapshots, volatile fields, schemas, generated data, fixtures and property tests, with a mutation matrix.

Decode JSON into Go structs with struct tags: null versus missing with pointers, case-insensitive keys, int64 ids, wrong-type errors and the omitempty trap.

One order document read in Go, Java, Rust, C#, PHP, Ruby, Python, Node and Bash: unknown keys, case, nulls, big ints, depth, duplicates and strictness.

Why a PUT drops fields, why dict.update clobbers nested objects, how absent differs from null in Pydantic, and how field-level SQL avoids lost updates.

Measure schema drift in a jsonb column with key counts and type counts, see how it changes a sum, and stop it with a NOT VALID check constraint.

A tested guide to where JSON belongs in an application: columns, API shapes, settings, events, drift and patches, with measured costs in PostgreSQL.

A tested guide to JSON security: where bodies turn hostile, parser differences, prototype pollution, SQL, limits, numbers, logs, and a checklist.

JSONPath, JMESPath, jq and the path dialects of PostgreSQL, MySQL and SQLite tested on one document: syntax, null handling, speed, indexes, portability.

Convert JSON to YAML with a YAML library so strings like yes, 3.10 and 02134 keep their quotes, and see what string formatting does to the same data.

A tested guide to diffing, patching and merging JSON: normalizing, array identity, JSON Patch, Merge Patch, atomic apply, deep merge, history and tests.

Convert YAML to JSON with PyYAML and json, and handle the cases that break it: dates, sets, integer keys, NaN, anchors, several documents and complex keys.
We send one email when a new article is published. No spam.