example ejemplo dumps dict create array python json encode

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 ''.

- Los literales de Unicode en el código fuente de Python

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)