ejemplo - python json get value
¿Qué son las u cuando uso json.loads? (2)
Cuerdas Unicode. Ver el tutorial de Python .
En el código fuente de Python, los literales de Unicode se escriben como cadenas prefijadas con el carácter ''u'' o ''U'': u''abcdefghijk ''.
Esta pregunta ya tiene una respuesta aquí:
He estado escribiendo un script de Python para analizar la información JSON de la API de Soundcloud, y me preguntaba qué es la "u" cuando uso json.loads (val) y cómo almacenar la información JSON en un objeto sin ¿los Estados Unidos?
es decir, ¿por qué estás en esto?
>>> json.loads(''["foo", {"bar":["baz", null, 1.0, 2]}]'')
[u''foo'', {u''bar'': [u''baz'', None, 1.0, 2]}]
Consulte la sección "Descifrar JSON" aquí para comprender a qué me refiero:
http://docs.python.org/library/json.html
¡Gracias!
los u'' están allí para indicar que se debe crear una cadena Unicode.
json.dump que json.dump convierte las cadenas en cadenas Unicode y no deja rastro de haberlo hecho, porque entonces json.load no puede volver a convertir.
Para convertir objetos de cadena, use PyYAML :
>>> import yaml
>>> yaml.load(''["foo", {"bar":["baz", null, 1.0, 2]}]'')
>>> [''foo'', {''bar'': [''baz'', None, 1.0, 2]}]
¡Pero cuidado! Si por alguna razón usted json.dump un objeto que contiene cadenas de objetos y cadenas Unicode, yaml cargará todo como cadenas de objetos (aunque eso es json.dump de json.dump realidad)