2009-04-26 11 views

Odpowiedz

62

Można użyć simplejson.

Jak pokazują the answer formie pkoch można użyć następujące oświadczenie import dostać biblioteka json w zależności od zainstalowanej wersji Pythona:

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

Dzięki! Było tyle modułów jsonów, że nie byłem pewien, który był używany w Pythonie 2.6. – marcog

+1

Droga spóźniona tutaj, ale jak napisać skrypt do importowania json lub simplejson w zależności od zainstalowanej wersji pythona? – Wells

+3

@ Wells: 'try: import json; oprócz ImportError: import simplejson' - Wymów błędy wcięć. – kojiro

49

Aby Wells i inni:

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

Oto jak:

 
try: 
    import json 
except ImportError: 
    import simplejson as json 

+0

Cóż, zrobiłbym to na odwrót, ponieważ simplejson ma szybszą implementację. Jeśli masz simplejson w Pythonie> = 2.6, powinieneś raczej użyć go zamiast json. – schlamar

+1

Każda z nich używa wykonanej z nich folii cynowej. Wolę stdlib tylko dlatego, że to stdlib. Możesz się nie zgodzić i przedstawić testy porównawcze, aby inni mogli się z Tobą zgodzić. – pkoch

+3

simplejson ma rozszerzenie C, nie ma tu potrzeby stosowania benchmarków ;-) Jeśli rozszerzenie C nie jest skompilowane (na przykład brakuje kompilatora podczas instalacji), jest to dokładnie ta sama biblioteka. Zobacz http://pypi.python.org/pypi/simplejson/. – schlamar

4

Napisałem łatkę cjson 1.0.6 i moja rada jest taka, że ​​nie używam cjson - są inne problemy z cjsonem w tym, jak radzi sobie z unikodem itp. Nie sądzę, że szybkość cjson jest warta czynienia z błędy - kodowanie/dekodowanie json jest zwykle bardzo krótkim czasem potrzebnym do przetworzenia typowego żądania internetowego ...

json w pytonie 2.6+ to w zasadzie simplejson wprowadzony do standardowej biblioteki Wierzę ...

-1

Programuję również w Pythonie 2.5 i potrzebowałem odpowiedniej biblioteki. Oto jak to zrobiłem.

ściągnięte plik simplejson jaj nazwie simplejson-2.0.6-py2.5-linux-i686.egg z http://pypi.python.org/simple/simplejson/

zainstalowaniu go za pomocą polecenia:

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

Wtedy importowana json library do pliku skryptu:

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")