Hola.
Gracias por la aclaración, por lo que entiendo estaba pintado el objeto
tratándolo como un string.
import json
from json import dumps
from pprint import pprint
json_data=open('info2.json')
data = {"id":"blabla","parameters": "eee"}
pprint(data)
print data["id"]
json_data=open('info2.json')
data = json.load(json_data)
print data["id"]
pprint(data)
print(json.dumps(data))
print(json.dumps(data, indent=4))
Utilizando el dump ya lo pinta correctamente.
He encontrado un poco más de información al respecto, por si interesa:
http://freepythontips.wordpress.com/2013/08/08/storing-and-loading-data-with-json/
Saludos y gracias!
El 15/08/2014 15:45, Jhonatan Sneider Salguero Villa escribió:
json usa comillas dobles en las cadenas
(http://json.org/json-es.html), pero python siempre usa comillas
simples, a menos que la cadena
contenga cadenas simples:
# usa comillas simples
print {"hola": "mundo"}
#usa comillas dobles
print {"hola\'": "mundo\'"}
con cat funciona porque cat imprime el contenido del archivo mientras
python esta imprimiendo la representación del objeto no el string:
import json
data = """{
"hola": "mundo"
}"""
# imprime la representación del objeto
print json.loads(data)
# imprime el string
print data
El 15 de agosto de 2014, 7:48, Francesc Alted <fal...@gmail.com
<mailto:fal...@gmail.com>> escribió:
A eso hay que añadir que Python acepta los dos tipos de comillas
para representar cadenas:
http://www.tutorialscollection.com/python-string-using-strings-and-its-methods-in-python/
Francesc
El 15/08/14 a les 14:46, Rock Neurotiko ha escrit:
El estandar para json dice que hay que usar comillas simples, es
por eso que el modulo lo transforma automaticamente a simples :)
El 15/08/2014 14:43, "Sergio Cubero" <serc...@alumni.uv.es
<mailto:serc...@alumni.uv.es>> escribió:
Hola.
Estoy jugando a procesar ficheros json.
Siendo el script:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from pprint import pprint
with open('info.json') as data_file:
data = json.load(data_file)
pprint(data)
y el json:
{"maps":[{"id":"blabla","iscategorical":"0"},{"id":"blabla","iscategorical":"0"}],
"masks":{"id":"valore"},
"om_points":"value",
"parameters":{"id":"valore"}
}
Al ejecutarlo por consola, muestra mal las comillas dobles.
{u'maps': [{u'id': u'blabla', u'iscategorical': u'0'},
{u'id': u'blabla', u'iscategorical': u'0'}],
u'masks': {u'id': u'valore'},
u'om_points': u'value',
u'parameters': {u'id': u'valore'}}
El cat lo muestra bien.
Tengo que pasarle un encode "utf-8" ??
Gracias
_______________________________________________
Python-es mailing list
Python-es@python.org <mailto:Python-es@python.org>
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org <mailto:Python-es@python.org>
https://mail.python.org/mailman/listinfo/python-es
FAQ:http://python-es-faq.wikidot.com/
--
Francesc Alted
_______________________________________________
Python-es mailing list
Python-es@python.org <mailto:Python-es@python.org>
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/