Chciałbym użyć modułu Pythona JSON. Został on wprowadzony tylko w Pythonie 2.6 i utknąłem z 2.5 na teraz. Czy konkretny moduł JSON dostarczany z Pythonem 2.6 jest dostępny jako osobny moduł, który może być używany z wersją 2.5?Jakiego modułu JSON można użyć w Pythonie 2.5?
Odpowiedz
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
Wolę cjson ponieważ jest to znacznie szybciej: http://www.vazor.com/cjson.html
Chcę pozostać kompatybilny z domyślną biblioteką dostarczoną z 2.6, w przeciwnym razie zgodziłbym się z tobą. – marcog
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
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
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
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
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ę ...
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")
Dzięki! Było tyle modułów jsonów, że nie byłem pewien, który był używany w Pythonie 2.6. – marcog
Droga spóźniona tutaj, ale jak napisać skrypt do importowania json lub simplejson w zależności od zainstalowanej wersji pythona? – Wells
@ Wells: 'try: import json; oprócz ImportError: import simplejson' - Wymów błędy wcięć. – kojiro