Forum Lifedomus
Demande d'aide Recuperation donnée JSON depuis blynk - Version imprimable

+- Forum Lifedomus (http://forum-lifedomus.com)
+-- Forum : Les outils de configuration et design (http://forum-lifedomus.com/forumdisplay.php?fid=7)
+--- Forum : Config Studio (CS) (http://forum-lifedomus.com/forumdisplay.php?fid=8)
+---- Forum : Equipements (http://forum-lifedomus.com/forumdisplay.php?fid=38)
+----- Forum : Equipements (http://forum-lifedomus.com/forumdisplay.php?fid=158)
+------ Forum : Universel (Equipement générique) (http://forum-lifedomus.com/forumdisplay.php?fid=136)
+------ Sujet : Demande d'aide Recuperation donnée JSON depuis blynk (/showthread.php?tid=4709)



Recuperation donnée JSON depuis blynk - mtddamien - 04-22-2020

Bonjour la communauté, je suis désolé par avance de vous sollicité pour si peut, mais malgré la lecture de nombreux poste sur le sujet. je bloque.

Je souhaite récupérer la valeur de la requette à l'API blynk pour placer le resultat dans la variable "Level" créé dans l'équipement

ma requette est :
http://blynk-cloud.com/rr8ysJS9MAnsNiMhbZEJLL-kDphXDG51/get/V4

la réponse est au format JSON d'après le déscriptif :
https://blynkapi.docs.apiary.io/#reference/0/get-pin-value/get-pin-value

Voici le résultat :
["40.788"]
comme il n'y a pas de mots clé devant la valeur, je ne sais pas comment exploiter :

Code :
try {
    var obj = JSON.parse(trame);
} catch (e) {
    ldprint("Error parse JSON: " + e.message);
}
if (obj."que mettre ici") {
    Level = obj."que mettre ici"; //Level est une variable déclaré dans l'equipement generique déclaré
}

n'ayant pas de connaissance en JavaScript, l'exploitation de réponse JSON, perser, perseur sont encore flou pour moi.


Merci de m'avoir lue et espérons quie vous puissiez me venir en aide.


RE: Recuperation donnée JSON depuis blynk - sud-domotique-expert - 04-22-2020

j'ai pas essayé mais tente level= obj[0] directement , regarde aussi comment est interprété le retour json par LD avec le connecteur en lançant la fonction listen


RE: Recuperation donnée JSON depuis blynk - mtddamien - 04-23-2020

(04-22-2020, 11:46 PM)sud-domotique-expert a écrit : j'ai pas essayé mais tente level= obj[0] directement , regarde aussi comment est interprété le retour json par LD avec le connecteur en lançant la fonction listen

Bonjour, merci pour ton retour, effectivement cela fonctionne.


j'ai donc effectuer une commande dans l'équipement(generique)
 type  :JS
Commande : command="/rr8ysJS9MAnsNiMhbZEJLL-kDphXxxxx/get/V4"

et cocher la case Parseur JS de la commande avec le code suivant 
Code :
try {
   var obj = JSON.parse(trame);
} catch (e) {
   ldprint("Error parse JSON: " + e.message);
}
Level = obj[0];

j'ai obtenu le même résultat avec :
Code :
Level = parseFloat(trame.substring(2,8));
Mais qui n'utilise pas la syntaxe JSON.

Pour ma culture, est ce que obj.[0] reviens au même que obj[0]


RE: Recuperation donnée JSON depuis blynk - sud-domotique-expert - 05-20-2020

(04-23-2020, 10:31 AM)mtddamien a écrit : Pour ma culture, est ce que obj.[0] reviens au même que obj[0]

a priori non c'est pas la même chose

obj[0] va adresser la première structure (structure 0) de l'array obj
obj.[0] va référencer la première sous-structure dont la valeur est "0" dans l'objet obj