Aunque es posible hacerlo en AppleScript con o sin Ayudante JSON No obstante, debido al número de registros recuperados (8888) y al tiempo que se tarda en iterar sobre ellos en comparación con un shell script solución, AppleScript no es la mejor manera de recuperar y analizar el datos .
Como prueba he utilizado AppleScript para crear un CSV archivo a partir de los datos recuperados datos y tardó más de 19 minutos en comparación con los 5 segundos que tardó en utilizar un shell script para hacer lo mismo.
Dicho esto, voy a publicar el ejemplo shell script código Solía recuperar el datos y crear un CSV archivo utilizando el utilidad de terceros : jq
Ejemplo shell script código :
#!/bin/bash
cd /private/tmp || exit
curl 'https://api.coingecko.com/api/v3/coins/list' -o coins.json
printf '%s\n' "ID,SYMBOL,NAME" > coins.csv
jq -r '.[] | [.id, .symbol, .name] | @csv' coins.json >> coins.csv
open -a "Numbers" coins.csv
- El ejemplo shell script código es sólo eso, un ejemplo. Se puede escribir para acomodar argumentos de la línea de comandos como el URL y nombres de archivo etc.
Notas:
El orden en [.id, .symbol, .name]
se utilizó sólo porque así es en el crudo datos en el sitio web y también cómo se recupera utilizando curl
, mientras que Ayudante JSON cambió el orden a id, name, symbol
. Puede cambiar el orden en el printf
declaración y el jq
consulta como quieras.
Si no tiene o utiliza Homebrew no lo necesita para obtener jq
como un binario precompilado está disponible. No está empaquetado y una vez descargado como, por ejemplo jq-osx-amd64
Hice lo siguiente en Terminal :
cd Downloads
xattr -d com.apple.quarantine jq-osx-amd64
mv jq-osx-amd64 jq
chmod +x jq
mkdir -p /usr/local/bin
sudo mv -nv jq /usr/local/bin/
Para utilizar el ejemplo shell script código , en Terminal , ejecute lo siguiente comando compuesto :
f="fetchcoins"; touch "$f"; open -e "$f"; chmod +x "$f"
En el abierto fetchcoins documento Copiar y pegar el ejemplo shell script código en él y luego guardarlo y cerrarlo.
De vuelta en Terminal :
sudo mv -nv fetchcoins /usr/local/bin/
Eso es todo, ya está todo listo para usarlo en Terminal :
fetchcoins
Sobre el uso de <strong>AppleScript </strong>si se analiza el <em>datos </em>a un <strong>CSV </strong><em>archivo </em>o escribe el <em>código </em>para rellenar el <em>células </em>en un <strong>Números </strong><em>hoja de cálculo </em>como el <em>datos </em>se itera, debido a la extrema diferencia de tiempo no voy a proporcionar el <em>ejemplo </em><strong>AppleScript </strong><em>código </em>He utilizado a menos que se solicite. Aunque para ser franco, por favor no pida y use <code>jq</code> ya que es la herramienta adecuada para este caso de uso.