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/

Responder a