Sólo un idiota puede ser totalmente feliz.
Mario Vargas Llosa
Problemas con las comillas usando Python y simplejson
Mi pequeño proyecto en Django y Facebook necesitaba procesar una cadena de texto en JSON. El objetivo es permitir a los usuarios copiar y pegar varios parámetros de configuración como una sencilla operación y evitar completar múltiples campos en un formulario. Hora de solicitar la ayuda de simplejson.
Empezamos con una prueba en la consola de Python, o mejor aún, iPython. Primero importamos el módulo:
import simplejson
Y ahora a definir una variable para el texto en JSON y pasarla a simplejson:
band = "{'name': 'Mando Diao', 'genre': 'rock and roll', 'bid': 19383}"
json = simplejson.loads(band)
El resultado es una excepción ValueError. Intentaré cambiando el orden de las comillas, simples para encerrar todo el texto y dobles para las claves y valores de JSON:
band = '{"name": "Mando Diao", "genre": "rock and roll", "bid": 19383}'
json = simplejson.loads(band)
Y ahora funciona, no hay error:
print json
{u'genre': u'rock and roll', u'bid': 19383, u'name': u'Mando Diao'}
Me parece un poco extraño pues siempre he usado ambos tipos de comillas en mi código Python sin problemas. ¿Habías notado este detalle con simplejson? No pude encontrar ningún comentario al respecto en la documentación.
Un último dato, el nuevo Python 2.6 incluye un módulo json, parece ser una adaptación de simplejson. Excelente.


Comentarios recientes
18 semanas 5 días atrás
19 semanas 1 día atrás
19 semanas 2 días atrás
20 semanas 12 horas atrás
20 semanas 1 día atrás
20 semanas 1 día atrás
20 semanas 2 días atrás
20 semanas 3 días atrás
20 semanas 5 días atrás
21 semanas 19 horas atrás