Lección 14

Patrones de documento: lista frente a objeto

Arrays raíz, objetos envoltorio, paginación y elección de forma.

APIs y archivos de config eligen distintas formas de nivel superior. Reconocer patrones ayuda a leer documentación más rápido y diseñar endpoints consistentes.

Array raíz

JSON válido puede ser un array en la raíz:

[
  {"id": 1, "name": "Alpha"},
  {"id": 2, "name": "Beta"}
]

Común en listas estáticas pequeñas o exportaciones por lotes. Muchas APIs REST prefieren un objeto envoltorio para que la metadata tenga sitio.

Objeto envoltorio

Envuelve datos de lista más metadata:

{
  "data": [
    {"id": 1, "name": "Alpha"}
  ],
  "meta": { "total": 42, "page": 1 }
}

Los nombres varían (data, items, results, records). La idea es la misma: payload + contexto en un objeto.

Campos de paginación

Patrones repetidos:

{
  "items": [],
  "nextCursor": "abc123",
  "hasMore": true
}

o estilo offset con page, pageSize, totalCount. Los clientes no deben asumir nombres de campo: lee la spec de cada API.

Documentos solo objeto

La configuración suele ser un solo objeto:

{
  "theme": "dark",
  "features": { "beta": false }
}

Sin array en la raíz; objetos anidados agrupan ajustes.

Elegir una forma

Prefiere raíz objeto cuandoArray raíz OK cuando
Necesitas paginación o errores junto a datosCatálogo pequeño y fijo
Aparecen objetos de versión o linksHerramientas internas, fixtures
Varios tipos de recurso comparten un endpointFeeds públicos de datos simples

La consistencia dentro de tu propia API importa más que copiar nombres de campo de otro producto.

Volver al resumen del curso