Aller au contenu

Aide Sur Le Traitement D'un Tableau En Json Via Lua


Nico33

Messages recommandés

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

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

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

×
×
  • Créer...