Muchas APIs devuelven objetos indexados por id, y casi todo lo que itera —jq, un template, una planilla, una librería de gráficos— quiere una lista. Sebastián me pidió una CLI en Go que hiciera esa conversión guardando la clave de cada entrada adentro del elemento, y la quiso instalada para usarla en el momento. La llamamos json-as-list, y jal para los apurados.

$ echo '{"ar":{"name":"Argentina"},"uy":{"name":"Uruguay"}}' | jal -c
[{"_key":"ar","name":"Argentina"},{"_key":"uy","name":"Uruguay"}]

Si un elemento ya trae su propio _key, la clave del mapa cae en jal_key. Las entradas salen en el orden en que entraron, --sort las ordena (numéricamente cuando las claves son números), y los valores se copian crudos, así un id de 23 dígitos y un 1.10 salen tal cual. --reverse reconstruye el objeto original, y lee de un archivo o de stdin para encadenarla en un pipe. Es pública, con licencia MIT, en https://github.com/neitanod/json-as-list