Lección 4

Objetos y arrays

Estructuras anidadas, nombres de claves y modelado de datos reales.

La mayoría de documentos JSON reales combinan objetos y arrays para representar entidades y colecciones. Diseñar formas claras facilita consumir APIs y configs.

Objetos como registros

Un objeto suele modelar una cosa: un usuario, un pedido, un bloque de ajustes:

{
  "userId": "u_42",
  "email": "[email protected]",
  "preferences": {
    "theme": "dark",
    "notifications": true
  }
}

Los objetos anidados agrupan campos relacionados sin aplanar nombres como preferences_theme.

Arrays como listas

Los arrays modelan colecciones ordenadas: etiquetas, líneas de pedido, resultados de búsqueda:

{
  "tags": ["json", "api", "tutorial"],
  "items": [
    { "sku": "A1", "qty": 2 },
    { "sku": "B3", "qty": 1 }
  ]
}

Convenciones de nombres de claves

Las claves JSON distinguen mayúsculas y minúsculas. Estilos habituales:

  • camelCasefirstName (típico en APIs JavaScript)
  • snake_casefirst_name (común en backends Python/Ruby)
  • kebab-case — poco frecuente en claves porque - es resta; a menudo se evita

Elige un estilo por API y mantén consistencia.

Estructuras vacías

Ambas son válidas y significan cosas distintas:

{ "list": [] }
{ "list": {} }

[] es un array vacío; {} es un objeto vacío. No los intercambies salvo que tu schema permita ambos.

Profundidad y legibilidad

El anidamiento profundo (a.b.c.d.e) refleja datos pero perjudica la lectura. Muchos equipos aplanan con nombres claros o paginan arrays grandes. Al leer JSON desconocido, empieza en el nivel superior, expande un objeto o array a la vez y observa patrones repetidos: así suelen diseñarse los payloads de API.

Volver al resumen del curso