Obteniendo valores de JSON usando Python

Mientras bash recuperar valores de la cadena JSON, me da un error:

data = json.loads('{"lat":444, "lon":555}') return data["lat"] 

Pero, si itero sobre 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 

Lo que devuelve: lat lon

¿Qué necesito hacer para obtener los valores de lat y lon ? ( 444 y 555 )

Si desea iterar sobre las claves y los valores del diccionario, haga lo siguiente:

 for key, value in data.items(): print key, value 

¿Qué error te está dando?

Si haces exactamente esto:

 data = json.loads('{"lat":444, "lon":555}') 

Entonces:

 data['lat'] 

NO DEBE darte ningún error en absoluto.

Usando Python para extraer un valor del Json proporcionado

 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']) 

Hay una biblioteca de Py que tiene un módulo que facilita el acceso a los valores-clave del diccionario tipo Json como atributos: https://github.com/asuiu/pyxtension Puede usarlo como:

 j = Json('{"lat":444, "lon":555}') j.lat + ' ' + j.lon 

Usando tu código, así es como lo haría. Sé que una respuesta fue elegida, simplemente dando opciones adicionales.

 data = json.loads('{"lat":444, "lon":555}') ret = '' for j in data: ret = ret+" "+data[j] return ret 

Cuando utiliza para esta propiedad, obtiene la clave del objeto, no el valor, por lo que puede obtener el valor, utilizando la clave como un índice.