Aller au contenu

Messages recommandés

Posté(e) (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 :

image.thumb.png.7ba10adcb0f1558c3714e624449d54fe.png

 

 

 

jusque la, tout va bien, mais c'est a partir de la que je sèche.:94:

  • 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é par DoR.Technique
Posté(e)

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?

 

 

 

Posté(e)

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

Posté(e)

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.

×
×
  • Créer...