DoR.Technique Posté(e) le 2 juillet 2020 Signaler Posté(e) le 2 juillet 2020 (modifié) Bonjour, je travaille sur la gestion de mon arrosage et j'ai besoin d'un coup de main pour comprendre comment traiter les réponses d'une requête. J'ai le code suivant qui envoi la requête : local http = net.HTTPClient() http:request("https://api.weatherbit.io/v2.0/current?lat=49.793959023472&lon=2.3656938174545&lang=fr&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", { success = function(response) if response.status == 200 then fibaro:debug('OK, réponse : '.. response.data) else fibaro:debug("Erreur : status=" .. tostring(response.status)) end end, error = function(err) fibaro:debug("Erreur : " .. err) end, options = { method = 'GET' } }) Ce qui me donne la réponse suivante : jusque la, tout va bien, mais c'est a partir de la que je sèche. Comment lister chaque nom de champ, avec sa valeur correspondante ? Comment obtenir la valeur d'un champ en particulier ? Merci de vos réponses, pour débloquer ma situation. Modifié le 2 juillet 2020 par DoR.Technique
mprinfo Posté(e) le 2 juillet 2020 Signaler Posté(e) le 2 juillet 2020 Tu dois récupérer tes datas comme ceciresponse.dataEt tout ton code doit être dans succès Envoyé de mon BLA-L29 en utilisant Tapatalk
DoR.Technique Posté(e) le 2 juillet 2020 Auteur Signaler Posté(e) le 2 juillet 2020 oui, j'ai bien vu, d’ailleurs mon début de code vient de la. mais je comprends pas trop la structure des data, ni comment les récuperer. Comment afficher la table et comment interroger une seule valeur?
Lazer Posté(e) le 2 juillet 2020 Signaler Posté(e) le 2 juillet 2020 Justement, la partie que tu demandes se situe justement.... là où tu as enlevé les lignes utiles ! Exemple de boucle pour parcourir les éléments du tableau JSON récupéré : if response.data and response.data ~= "" then fibaro:debug('Retour : '.. response.data) local jsonTable = json.decode(response.data) -- Parcours de la table JSON local k, v for k, v in pairs(jsonTable) do fibaro:debug("key = " .. k .. " - type(v) = " .. type(v)) end -- Ici la suite du code, exécuté en asynchrone, donc après la fin de l'exécution du code appelant http:request() -- ... else fibaro:debug("Error : empty response data") end Tu as mis un screenshot au format image, donc je ne peux pas te copier/coller une valeur, mais il te suffit de chercher la valeur qui t'intéresse avec jsonTable.XXX
DoR.Technique Posté(e) le 5 juillet 2020 Auteur Signaler Posté(e) le 5 juillet 2020 Désolé pour le copier/coller, mais comment faire un copier du texte ? je ne pas copier le texte de cette fenêtre, ni de Firefox, ni ie, ni chrome.
Lazer Posté(e) le 5 juillet 2020 Signaler Posté(e) le 5 juillet 2020 Tu as fait une capture d'écran au format image. Pour copier du texte c'est pourtant plus simple. Il suffit de le sélectionner avec ta souris.
Messages recommandés