While I am trying to retrieve values from JSON string, it gives me an error:
data = json.loads['{"lat":444, "lon":555}']
return data["lat"]
But, if I iterate over the data, it gives me the elements [lat
and lon
], but not the values:
data = json.loads['{"lat":444, "lon":555}']
ret = ''
for j in data:
ret = ret + ' ' + j
return ret
Which returns: lat lon
What do I need to do to get the values of lat
and lon
? [444
and
555
]
Francesco Boi
7,47412 gold badges69 silver badges109 bronze badges
asked Sep 10, 2012 at 14:00
BrunoVillanovaBrunoVillanova
1,1211 gold badge7 silver badges14 bronze badges
4
If you want to iterate over both keys and values of the dictionary, do this:
for key, value in data.items[]:
print[key, value]
Neuron
4,5754 gold badges32 silver badges53 bronze badges
answered Sep 10, 2012 at 14:04
0
What error is it giving you?
If you do exactly this:
data = json.loads['{"lat":444, "lon":555}']
Then:
data['lat']
SHOULD NOT give you any error at all.
answered Sep 10, 2012 at 14:04
Pablo Santa CruzPablo Santa Cruz
172k31 gold badges237 silver badges290 bronze badges
Using Python to extract a value from the provided Json
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']]
Neuron
4,5754 gold badges32 silver badges53 bronze badges
answered Feb 19, 2016 at 16:23
1
There's a Py library that has a module that facilitates access to Json-like dictionary key-values as attributes: //github.com/asuiu/pyxtension You can use it as:
j = Json['{"lat":444, "lon":555}']
j.lat + ' ' + j.lon
answered Oct 17, 2015 at 19:22
asuasu
4895 silver badges15 bronze badges
Using your code, this is how I would do it. I know an answer was chosen, just giving additional options.
data = json.loads['{"lat":444, "lon":555}']
ret = ''
for j in data:
ret = ret+" "+data[j]
return ret
When you use "for" in this manner you get the key of the object, not the value, so you can get the value by using the key as an index.
Jon
3102 silver badges10 bronze badges
answered Mar 1, 2013 at 23:43
DestreyfDestreyf
4315 silver badges7 bronze badges
1