Es muy simple: >>> import io >>> import json >>> kk = {str(x):u"kákà" for x in range(1000)} >>> with io.open("foo.json", "wb") as f: ... json.dump(kk, f) ... >>> >>> with io.open("foo.json", "rb") as f: ... kk2 = json.load(f) ... >>> len(kk2.keys()) 1000 >>> kk2[1] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 1 >>> print kk2["1"] kákà
Andrey El 20 de marzo de 2013 20:52, Flavio Danesse <fdane...@gmail.com> escribió: > ok > > Esto funciona para guardar una cadena con tildes, pero que pasa si en tu > aplicación tienes un diccionario bien grande con diccionarios, listas, etc > . . . anidados y quieres guardarlo todo y de una en un json? > > > > El 20 de marzo de 2013 16:40, Andrey Antukh <n...@niwi.be> escribió: > > Modulo json fue incorporado en python 2.6 tomando como codigo base >> simplejson. >> La regla principal, es usar siempre siempre y siempre, unicode (sea con >> UTF-8, UTF-16 o UTF-32) (para nuestro caso es utf-8). >> Y no habra problemas. Si no cuidas el encoding con el que editas los >> ficheros, pueden pasarte esas cosas. >> >> Usar un modulo externo y decir que es una solucion al problema, lo unico >> que dice es que el problema sigue ahi, y que el modulo que usas traga mas >> mierda y sea menos estricto, pero de ninguna manera te ha solucionado el >> problema de encoding. >> >> >>> import json >> >>> kk = u"cadená con tìldes" >> >>> dd = json.dumps({"foo": kk}) >> >>> dd >> '{"foo": "caden\\u00e1 con t\\u00ecldes"}' >> >>> print json.loads(dd) >> {u'foo': u'caden\xe1 con t\xecldes'} >> >>> print json.loads(dd)['foo'] >> cadená con tìldes >> >> Un saludo. >> Andrey >> >> >> El 20 de marzo de 2013 20:29, Flavio Danesse <fdane...@gmail.com>escribió: >> >> yo tuve el mismo problema que él y esta fue la solución. >>> >>> La verdad no sabia que json era de python y simplejson no. >>> >>> El 20 de marzo de 2013 16:20, Andrey Antukh <n...@niwi.be> escribió: >>> >>> El 20 de marzo de 2013 19:53, Flavio Danesse <fdane...@gmail.com>escribió: >>>> >>>>> import simplejson >>>>> archivo = open(path, 'w') >>>>> archivo.write(simplejson.dumps(salida)) >>>>> archivo.close() >>>>> >>>>> >>>> No entiendo la necesidad de liar a una persona con bibliotecas >>>> que están fuera de python, cuando la pregunta va directa sobre un modulo de >>>> python. >>>> >>>> >>>> >>>>> >>>>> El 20 de marzo de 2013 15:35, Diego Uribe Gamez < >>>>> diego.uribe.ga...@gmail.com> escribió: >>>>> >>>>> estoy usando nano, >>>>>> >>>>>> para lo que me pregunto quique: >>>>>> >>>>>> print u"%s" % var >>>>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position >>>>>> 53: ordinal not in range(128) >>>>>> >>>>>> lo que sucede es que var biene de otro archivo y es un string, no >>>>>> logro codificarlo. >>>>>> >>>>>> >>>>>> >>>>>> El 20 de marzo de 2013 13:33, Alberto Chamorro < >>>>>> a.chamorro.r...@gmail.com> escribió: >>>>>> >>>>>> Aun asi da cosa ver ASCII Java program text! ¿Que editor utilizas? >>>>>>> On Mar 20, 2013 7:12 PM, "Quique Porta" <quiquepo...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> ¿Has probado esto? >>>>>>>> var = *u*"texto con tildes, Categorías " >>>>>>>> >>>>>>>> poniendo la "u" delante de la cadena >>>>>>>> >>>>>>>> El 20 de marzo de 2013 18:56, Diego Uribe Gamez < >>>>>>>> diego.uribe.ga...@gmail.com> escribió: >>>>>>>> >>>>>>>>> tan raro yo no sabia y tampoco entiendo: >>>>>>>>> >>>>>>>>> file texto.py >>>>>>>>> texto.py: ASCII Java program text >>>>>>>>> >>>>>>>>> sobre el encabezado esta el # -*- coding: utf-8 -*- correctamente >>>>>>>>> >>>>>>>>> Como hago para saber con un print el tipo de codificación antes de >>>>>>>>> hacer el encode('utf-8')? >>>>>>>>> >>>>>>>>> >>>>>>>>> El 20 de marzo de 2013 12:25, Alberto Chamorro < >>>>>>>>> a.chamorro.r...@gmail.com> escribió: >>>>>>>>> >>>>>>>>>> Si lo tienes en un fichero .py comprueba la codificacion con la >>>>>>>>>> que has guardado el fichero (en unix seria con el comando file) >>>>>>>>>> >>>>>>>>>> Tambien se recomienda añadir a los programas la linea de coding: >>>>>>>>>> >>>>>>>>>> # -*- coding: utf-8 -*- >>>>>>>>>> >>>>>>>>>> Un saludo >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Python-es mailing list >>>>>>>>>> Python-es@python.org >>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Diego Alonso Uribe Gamez* >>>>>>>>> ------------------------------ >>>>>>>>> >>>>>>>>> *Desarrollador web* >>>>>>>>> >>>>>>>>> Twitter: @DiegoUG <http://www.twitter.com/DiegoUG> >>>>>>>>> >>>>>>>>> Google+: http://gplus.to/diegoug >>>>>>>>> ------------------------------ >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Python-es mailing list >>>>>>>>> Python-es@python.org >>>>>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Python-es mailing list >>>>>>>> Python-es@python.org >>>>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> Python-es mailing list >>>>>>> Python-es@python.org >>>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Diego Alonso Uribe Gamez* >>>>>> ------------------------------ >>>>>> >>>>>> *Desarrollador web* >>>>>> >>>>>> Twitter: @DiegoUG <http://www.twitter.com/DiegoUG> >>>>>> >>>>>> Google+: http://gplus.to/diegoug >>>>>> ------------------------------ >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es@python.org >>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es@python.org >>>>> http://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>>> >>>> -- >>>> Andrey Antukh - Андрей Антух - <n...@niwi.be> >>>> http://www.niwi.be/about.html >>>> http://www.kaleidos.net/A5694F/ >>>> >>>> "Linux is for people who hate Windows, BSD is for people who love UNIX" >>>> "Social Engineer -> Because there is no patch for human stupidity" >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es@python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es@python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> -- >> Andrey Antukh - Андрей Антух - <n...@niwi.be> >> http://www.niwi.be/about.html >> http://www.kaleidos.net/A5694F/ >> >> "Linux is for people who hate Windows, BSD is for people who love UNIX" >> "Social Engineer -> Because there is no patch for human stupidity" >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Andrey Antukh - Андрей Антух - <n...@niwi.be> http://www.niwi.be/about.html http://www.kaleidos.net/A5694F/ "Linux is for people who hate Windows, BSD is for people who love UNIX" "Social Engineer -> Because there is no patch for human stupidity"
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/