Nico33 Posté(e) le 23 août 2014 Signaler Partager Posté(e) le 23 août 2014 Bonjour, Je débute sur le lua depuis qques jours et je m'attaque à la communication entre mon eedomus et ma HC2. Je souhaite traiter un tableau en json renvoyé par l'eedomus de la forme suivante : { "success": 1, "body":[{"periph_id": "36848", "name": "Temperature multisensor Salon", "last_value": "24.6", "last_value_text": "", "last_value_change": "2014-08-22 21:43:58"}, {"periph_id": "46902", "name": "Température [ambiante] Sejour", "last_value": "22", "last_value_text": "", "last_value_change": "2014-08-22 21:23:44"}, {"periph_id": "74039", "name": "Température [ambiante] Couloir", "last_value": "24", "last_value_text": "", "last_value_change": "2014-08-22 21:49:02"}, {"periph_id": "85366", "name": "Température motion Sejour", "last_value": "24.2", "last_value_text": "", "last_value_change": "2014-08-22 21:46:55"}]} Je n'ai pas trouvé dans les tutos ni dans la recherche la façon de mettre le tableau json dans un tableau exploitable pour le LUA pour en ressortir les données. J'arrive à interroger et à exploiter lorsque ce n'est pas une forme de tableau (interrogation d'un prériph). Avez-vous un lien avec un exemple à me donner ? Nico33 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 23 août 2014 Signaler Partager Posté(e) le 23 août 2014 local monTableauExploitable = json.decode(json_recu) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico33 Posté(e) le 23 août 2014 Auteur Signaler Partager Posté(e) le 23 août 2014 Tout simplement ! Merci. Je vais batailler avec les tableaux maintenant 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico33 Posté(e) le 26 août 2014 Auteur Signaler Partager Posté(e) le 26 août 2014 J'obtiens une erreur : [ERROR] 23:56:07: line 12: Expected value but found invalid escape code at character 4711 Je précise que la ligne 12 est celle qui fait le json.decode : fibaro:log("Appel lancé") HC2 = Net.FHttp("api.eedomus.com") response, status, errorcode = HC2:GET("/get?action=periph.caract&periph_id=all&api_user=aaaaaa&api_secret=abcd") local monTableau = json.decode(response) Je précise aussi que le json obtenu est très long car c'est tous les périphs de mon eedomus. Pb de taille du json ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 26 août 2014 Signaler Partager Posté(e) le 26 août 2014 oui c'est bien possible...Soit le json est mal-formé soit l'eedomus retourne un flux "chunked" et cela pose des problèmes pour FHttp et la solution est l'utilisation de FTcpSocket et d'un buffer... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés