L'objctiu és utilitzar una API de forma creativa, triant una API qualsevol, i generar gràfics emprant chartjs

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 paràmetres la url i una funció callback, per tant és loadJSON (url, callback); La url és la url on esstà situada la nostra JSON, que inclou si és necessari la nostra api key o clau d'usuari per accedir. Lafunció callback conté unes variables globals que estàn buides inicialment que ara anem a omplir igualant-les als valors concrets de determinades posicions del JSON, per exemple si vull accedir a una dada concreta podria ser: nomBaseDeDades.nomNode.nomSubnode i podria contenir un array, usdafoods[0].foods[0].nutrientName i això accederia 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[2].foods[3].unitName

Un altre estratègia que és més moderna i professional és utilitzar la fetch API de javaScript, són unes instruccions com fetch(url), async i await que ens permeten que es carregui el JSON. Aquestes instruccions no funcionen 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, etc...

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

Si escric let(i=0; nutrientName.length, i++) usdafoods.[0].nutrientName[i]; //buscar bucle dentro de bucle json/javascript

Gràfic exemple