Json invalide ou indecodable

Bonjour,
Je cherche a récupérer des valeurs dans un json. C’est un json que je récupère du pluing météo pour avoir la météo du lendemain à plusieurs heures.
Mon json :

{"dt":1698541200,"T":{"value":14.2,"windchill":12.4},"humidité":65,"sea_level":1003.6,"wind":{"speed":7,"rafale ":14,"direction":190,"icon":"S"},"pluie":{"1h":0},"neige":{"1h":0},"iso0":2900," pluie neige limite":"Non pertinent","clouds":30,"weather":{"icon":"p4n","desc":"Ciel voilé"},"moment_day":"Nuit"}

J’ai donc mis ça dans mon script mais ça ne fonctionne pas.

Avez vous un conseil ?
Merci

Bonjour,

peux-tu mettre ton code json dans un « texte préformaté » car c’est illisible.
image

Merci.

Salut,

Le json est valide (voir https://jsonformatter.curiousconcept.com/# )

Par contre ton attribut humidity que tu demandes n’est pas présent, c’est humidité

@jpty est un peu long a écrire :rofl:, mais tu auras sans doute la solution.

Il a abandonné finalement j’ai l’impression :sweat_smile:

Bonjour,

Quel est le plugin qui a créé le json?

  • Si c’est meteofrance:
    Le json des commandes du plugin meteofrance n’est pas décodable par le plugin-script .
    Pour contrer le plugin-virtual qui supprime tous les guillemets dans les valeurs des commandes, ceux-ci sont remplacés par leur code html "
    Ci-dessous, un bloc code de scénario pour extraire une valeur du json des commandes de MF
$cmdJSON = '#[Météo][Meteo France Jpty][Moment de la journée - Json]#';
$humidity = meteofrance::getJsonInfo($cmdJSON,'humidity');
$date = meteofrance::getJsonInfo($cmdJSON,'dt');

$scenario->setLog('Date: ' .date('d-m-Y H:i',$date) .'Humidité: ' .$humidity);

Désolé pour le temps de rédaction du post. :wink: Je vérifie ce que j’écris.

2 « J'aime »

merci pour cette réponse effectivement le json sort du pluing météo France. je viens de faire une virtuel avec le plugin-virtual et ça donne :


Pour le code que tu as mis c’est un code qui faut que je mette dans un scénario ?

Oui c’est du code à mettre dans un scénario pour extraire une valeur du json

Super merci je regarde ça :+1::pray:

C’est bon j’ai réussie à mettre en place le scénario pour extraire les valeurs de mon json. :+1:


Maintenant comment les récupérées pour les exploiters ailleurs ?

Je viens de récupérer ma donné dans une variable avec le code suivant :

$scenario->setData('maVariable', [$value]);

Vous aussi pouvez mettre la donnée dans une commande d’un virtuel

cmd::byString('#[Météo][Virtuel extraction data MF][Moment +3 Temperature]#')->event($value);

Merci @jpty j’ai fait un scénario avec tout les infos que vous m’avez envoyé et j’ai envoyé tout ça dans un virtuel.
Je récupère les infos dans un widget JeeConnect et j’affiche la météo du lendemain à 8h 14h et 20h.
Merci beaucoup
:blush: