Pendant que j'essaye de récupérer les valeurs d'une chaîne JSON, cela me donne une erreur:
data = json.loads('{"lat":444, "lon":555}')
return data["lat"]
Mais si j'itère sur les données, cela me donne les éléments (lat
et lon
), mais pas les valeurs:
data = json.loads('{"lat":444, "lon":555}')
ret = ''
for j in data:
ret = ret + ' ' + j
return ret
Ce qui retourne: lat lon
Que dois-je faire pour obtenir les valeurs de lat
et lon
? (444
et 555
)
Si vous voulez parcourir les clés et les valeurs du dictionnaire, procédez comme suit:
for key, value in data.items():
print key, value
Quelle erreur vous donne-t-il?
Si vous faites exactement ceci:
data = json.loads('{"lat":444, "lon":555}')
Ensuite:
data['lat']
NE DEVRAIT PAS vous donner une erreur du tout.
Utiliser Python pour extraire une valeur du fichier Json fourni
Working sample:-
import json
import sys
//load the data into an element
data={"test1" : "1", "test2" : "2", "test3" : "3"}
//dumps the json object into an element
json_str = json.dumps(data)
//load the json to a string
resp = json.loads(json_str)
//print the resp
print (resp)
//extract an element in the response
print (resp['test1'])
En utilisant votre code, voici comment je le ferais. Je sais qu'une réponse a été choisie, donnant simplement des options supplémentaires.
data = json.loads('{"lat":444, "lon":555}')
ret = ''
for j in data:
ret = ret+" "+data[j]
return ret
Lorsque vous utilisez for dans ce manoir, vous obtenez la clé de l'objet, pas la valeur, afin que vous puissiez obtenir la valeur, en utilisant la clé comme index.
Il y a une bibliothèque Py qui a un module qui facilite l'accès aux valeurs-clés du dictionnaire de type Json en tant qu'attributs: https://github.com/asuiu/pyxtension Vous pouvez l'utiliser comme:
j = Json('{"lat":444, "lon":555}')
j.lat + ' ' + j.lon