2009-04-26 9 views
62

Me gustaría usar el módulo JSON de Python. Solo se introdujo en Python 2.6 y estoy estancado con 2.5 por ahora. ¿Está el módulo JSON particular provisto con Python 2.6 disponible como un módulo separado que se puede usar con 2.5?¿Qué módulo JSON puedo usar en Python 2.5?

Respuesta

62

Puede usar simplejson.

Como se muestra por the answer forma pkoch puede utilizar la siguiente instrucción de importación para obtener una biblioteca JSON dependiendo de la versión de Python instalado:

try: 
    import json 
except ImportError: 
    import simplejson as json 
+1

Gracias! Había tantos módulos json que no estaba seguro de cuál era el usado en Python 2.6. – marcog

+1

Demasiado tarde aquí, pero ¿cómo se puede escribir un script para importar json o simplejson dependiendo de la versión de python instalada? – Wells

+3

@Wells: 'try: import json; excepto ImportError: import simplejson' - Excuse los errores de sangría. – kojiro

1

prefiero cjson ya que es mucho más rápido: http://www.vazor.com/cjson.html

+1

Quiero seguir siendo compatible con la biblioteca predeterminada que se proporciona con 2.6, de lo contrario estaría de acuerdo contigo. – marcog

49

Para Wells y otros:

Way late here, but how can you write a script to import either json or simplejson depending on the installed python version?

He aquí cómo:

 
try: 
    import json 
except ImportError: 
    import simplejson as json 

+0

Bueno, lo haría al revés porque simplejson tiene una implementación más rápida. Si tienes simplejson en Python> = 2.6, preferiblemente deberías usarlo en lugar de json. – schlamar

+1

Cada uno usa el sombrero de fieltro de rendimiento que elige. Prefiero el stdlib simplemente porque es el stdlib. Sientase libre de estar en desacuerdo y proporcione puntos de referencia para que otros puedan estar de acuerdo con usted. – pkoch

+3

simplejson tiene una extensión C, no necesita un punto de referencia aquí ;-) Si no se compila la extensión C (por ejemplo, falta el compilador), es exactamente la misma biblioteca. Ver http://pypi.python.org/pypi/simplejson/. – schlamar

4

Escribí el parche cjson 1.0.6 y mi consejo es que no use cjson - hay otros problemas con cjson en la forma en que maneja el Unicode, etc. No creo que valga la pena lidiar con la velocidad de cjson los errores - codificación/decodificación json es generalmente un muy poco tiempo necesario para procesar una solicitud web típica ...

json en python 2.6+ es básicamente simplejson introducido en la biblioteca estándar creo ...

-1

Estoy programando en Python 2.5 también y quería una biblioteca adecuada. Así es como lo hice.

donwloaded el archivo simplejson huevo llamado simplejson-2.0.6-py2.5-linux-i686.egg de http://pypi.python.org/simple/simplejson/

instalado con el comando:

sudo python ./ez_setup.py ./simplejson-2.0.6-py2.5-linux-i686.egg

luego se importa la json biblioteca en el archivo de secuencia de comandos haciendo:

import sys 
sys.path.append("/home/coolkid/Android/simplejson/simplejson-2.0.6-py2.5-linux-i686.egg") 
try: import simplejson as json 
except ImportError: print ("import error") 
Cuestiones relacionadas