Was sind die Unterschiede zwischen json und simplejson Python-Module?
Ich habe gesehen, viele Projekte mit simplejson
Modul statt json
Modul aus der Standard-Bibliothek. Auch gibt es viele verschiedene simplejson
Module. Warum würden Sie diese alternativen, statt in der Standard-Bibliothek?
InformationsquelleAutor der Frage Lakshman Prasad | 2009-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
json
istsimplejson
Hinzugefügt, um die stdlib. Aber dajson
wurde Hinzugefügt, 2.6,simplejson
hat den Vorteil, die Arbeit auf mehrere Python-Versionen (2.4+).simplejson
wird auch häufiger aktualisiert als Python, also, wenn Sie brauchen (oder wollen) die neueste version, es ist am besten, umsimplejson
selbst, wenn möglich.Ist eine gute Praxis, meiner Meinung nach, ist die Verwendung von einer oder der andere als fallback.
InformationsquelleAutor der Antwort Devin Jeanpierre
Ich Stimme mit den anderen Antworten: die integrierten
json
Bibliothek (Python 2.7) ist nicht unbedingt langsamer alssimplejson
. Es hat auch nicht dieses lästige unicode-bug.Hier ist eine einfache benchmark:
Und die Ergebnisse auf meinem system (Python 2.7.4, Linux 64-bit):
Für dumping
json
ist schneller alssimplejson
.Bei der Beladung
simplejson
ist schneller.Da ich bin derzeit am Aufbau einer web-service
dumps()
wichtiger ist—und mit einem standard-Bibliothek wird immer bevorzugt.Auch
cjson
wurde nicht aktualisiert, in den letzten 4 Jahren, also ich würde nicht berühren.InformationsquelleAutor der Antwort Tal Weiss
Alle diese Antworten sind nicht sehr hilfreich, weil Sie Zeit empfindlich.
Nachdem ich meine eigene Forschung fand ich, dass
simplejson
ist ja schneller als die eingebauten, wenn halten Sie es aktualisiert, um die neueste version.pip/easy_install
installieren wollte 2.3.2 auf ubuntu 12.04, aber nachdem die neuestesimplejson
version ist eigentlich 3.3.0, also habe ich aktualisiert und reran die Zeit-tests.simplejson
ist etwa 3x schneller als die eingebautejson
zu Lastensimplejson
ist etwa 30% schneller als die eingebautejson
an-dumpsHaftungsausschluss:
Die oben genannten Aussagen sind in der python-2.7.3-und simplejson 3.3.0 (mit c Beschleunigungen)
Und um sicherzustellen, dass meine Antwort auch nicht Zeit empfindlich sind, sollten Sie führen Sie Ihre eigenen tests zu überprüfen, da es ändert sich so viel zwischen den Versionen; es gibt keine einfachen Antworten, die nicht die empfindliche Zeit.
Wie Sie sagen, wenn C-Beschleunigungen aktiviert sind simplejson:
UPDATE: ich kam vor kurzem in eine Bibliothek namens ujsonmit ~3x schneller als
simplejson
mit einigen grundlegenden tests.InformationsquelleAutor der Antwort notbad.jpeg