Lección 11

Generating JSON Text from Values en español

Guía en español para json generating json text: Serialization, key order, and keeping output stable for tests and APIs.

Este contenido todavía no está disponible en español. Se muestra la versión en English mientras completamos la localización.

Generation (serialization) walks your in-memory values and writes JSON text—for HTTP responses, file exports, or test fixtures. It is the inverse of parsing, with its own design choices.

Default behavior varies

Most serializers:

  • Omit undefined properties (JavaScript) or require explicit null handling
  • Escape strings automatically
  • Write numbers in decimal form

Example conceptually:

{"status": "ok", "count": 3}

from an object with status and count fields.

Key order and stable output

Object key order is not semantically significant in JSON, but serialized byte order is significant for:

  • Git diffs and snapshot tests
  • Cryptographic signatures over raw bytes
  • Cache keys built from canonical JSON

Teams sometimes sort keys alphabetically before generating text so two logically equal objects produce identical strings.

Pretty vs compact generation

ModeUse when
Pretty (indented)Human review, docs, debug
CompactWire transfer, storage size matters

The same data can be valid in both forms—choose based on audience, not correctness.

Round-trip thinking

Ideal flow: values → text → parse → equal values. Floating-point numbers, large integers, or custom types (dates, BigInt) may not round-trip perfectly unless you define conventions (ISO date strings, string-encoded decimals).

Document those conventions in API specs so clients and servers agree.

Volver al resumen del curso