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)