Ús d'una API

L'objectiu és utilitzar una API de forma creativa, triant una APi qualsevol, i generar gràfics emprantchart.js.

Exemple de gràfic

Per accedir a un API ho puc fer de moltes maneres, si utilitzo la biblioteca p5.js farè servir la instrucció loadJSON. Aquesta funció té com a parametres la URL i la funció callback, per tant és loadJSON (url, callback); La url és la url on està situada la nostra JSON, que inclou si és necessari la nostra api key per accedir. La funció callback conté unes variables que són globals i que estàn buides inicialment i que ara anem a omplir igualan-les als valors concrets de determinades posicions al JSON. Per exemple, si vull accedir a una dada concreta podria ser: nomBaseDades.nomNode.nomSubnode i podria contenir una array, usdafoods.foods[0].foodNutrient[0].nutrientName i això accedeix al primer nutrient de la primera fruita del usdafoods i ens dona el nom del primer nutrient. Vull accedir al 3r aliment a la unitat del 4rt nutrient : let nutrient3unit4 = usdafoods.foods[2].foodnutrient[3].unitName

Una altra estrategia que és més moderna i professional que és utilitzar la fetch API de js, són unes instruccions com fetch(url), async i await que ens permeten que es carregui el JSON. Aquestes instruccions no funcionan en navegadors molt molt antics.

Si volem no escriure moltes vegades un codi hem de fer servir arrays i loops for. Hi ha moltes formes diferents i solucions diferents amb aquesta estrategia. Per exemple: hi han solucions amb for, for each, while, cases...

Primer hem de crear un espai buit a la memoria que capiga un array: let nutrientNames = [] ; això crea un espai a la memoria de l'ordinador que es diu nutrientNames i que pot contenir molts numeros perquè és un array. Això s'ha de fer al principi del codi si volem fer-ho com una variable o array global que afecti a tot el codi.

Si escric let(i=0; nutrientName.length, i ++) usdafoods.foods[0].nutrientName[i] ; }