trabajando - que es json python
Obteniendo valores de JSON usando Python (5)
Mientras trato de recuperar los valores de la cadena JSON, me da un error:
data = json.loads(''{"lat":444, "lon":555}'')
return data["lat"]
Pero, si repito los datos, me da los elementos (lat y lon), pero no los valores:
data = json.loads(''{"lat":444, "lon":555}'')
ret = ''''
for j in data:
ret = ret + '' '' + j
return ret
Que devuelve: lat lon
¿Qué debo hacer para obtener los valores de lat y lon? (444 y 555)
¿Qué error te está dando?
Si haces exactamente esto:
data = json.loads(''{"lat":444, "lon":555}'')
Entonces:
data[''lat'']
NO DEBE darle ningún error en absoluto.
Hay una biblioteca de Py que tiene un módulo que facilita el acceso a los pares clave-valor del diccionario Json como atributos: https://github.com/asuiu/pyxtension Puede usarlo como:
data = json.loads(''{"lat":444, "lon":555}'')
ret = ''''
for j in data:
ret = ret+" "+data[j]
return ret
Si desea iterar sobre ambas claves y valores del diccionario, haga esto:
for key, value in data.items():
print key, value
Usando tu código, así es como lo haría. Sé que se eligió una respuesta, simplemente dando opciones adicionales.
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''])
Cuando lo utiliza en este feudo, obtiene la clave del objeto, no el valor, para que pueda obtener el valor, utilizando la clave como índice.
Usar Python para extraer un valor del Json provisto
j = Json(''{"lat":444, "lon":555}'')
j.lat + '' '' + j.lon