-- Chargement de la bibliothèque Lua pour effectuer des requêtes HTTP local http = require("socket.http") local json = require("json") -- Fonction pour effectuer une requête HTTP et renvoyer le contenu JSON en tant que tableau function getJsonFromUrl(url) local response = http.request(url) -- Effectue la requête HTTP return json.decode(response) -- Décode la réponse JSON en tant que tableau end -- Fonction récursive pour rechercher une valeur dans un tableau multidimensionnel function searchValueInTable(value, tbl) for k, v in pairs(tbl) do if v == value then return k -- Retourne la clé si la valeur est trouvée elseif type(v) == "table" then local result = searchValueInTable(value, v) -- Appel récursif si la valeur est un tableau if result then return k .. "." .. result -- Retourne la clé trouvée concaténée avec la clé actuelle end end end return nil -- Retourne nil si la valeur n'est pas trouvée end -- Exemple d'utilisation local url = "http://api.openweathermap.org/data/2.5/weather?q=La gacilly,fr&APPID=feba3f4d926db3b358a25ec782bd1c8b&lang=FR&units=metric" -- URL à appeler local jsonData = getJsonFromUrl(url) -- Appel de la fonction pour obtenir le tableau JSON -- Affichage du contenu du tableau JSON for k, v in pairs(jsonData) do print(k, v) end -- Recherche d'une valeur spécifique dans le tableau JSON local searchValue = "valeurRecherchee" local searchResult = searchValueInTable(searchValue, jsonData) if searchResult then print("La valeur", searchValue, "a été trouvée à la clé", searchResult) else print("La valeur", searchValue, "n'a pas été trouvée dans le tableau") end