Wie man javascript zu Parsen json.gz Datei-browser
Kurz gesagt, im Wesentlichen bin ich versucht, zu erstellen eine Heavy-client & Light-Server
Single-Page-Anwendung.
Bin ich BEKOMMEN-ing eine komprimierte JSON-Daten-Datei, die über einen einfachen HTML-script-tag.
<script type="text/javascript" src="myjson.json.gz"></script>
<script type="text/javascript" src="parse.js"></script>
myjson.json
– Datei ist, dass der Inhalt ähnlich:
media_library={some:"json", data: "here"}
Nur, es ist ungefähr 6MB. Die parse.js
javascript-code enthält die Logik zum Bearbeiten der Erstellung der web-Seite mit den Daten aus media_libary
variable deklariert myjson.json
– Datei.
Komprimierung zu myjson.json.gz
reduziert die Größe auf 650 KB. Das ermöglicht eine schnellere Ladezeit.
Googelte ich nach Möglichkeiten, um entweder:
(1) Finden Sie den code, um javascript zu Blasen Sie die gzip-Datei zu myjson.json und dann get es Los
(2) Finden Sie den code, um javascript zu Lesen das json-Objekt aus der gzip-Datei
Ich konnte nichts finden entweder.
Ich m auf der Suche nach einer Möglichkeit zur Einsparung von Netzwerk-Zeit für die übertragung der gesamten Daten.
Dem Gedanken an den server senden, JSON, das ist nur erforderlich, stattdessen überquert hat meiner Meinung nach, aber das geht gegen meine Absicht, halten die server das Licht und dass mein client das suchen,Sortieren,filtern und präsentieren von (schwer-client-Zeugs).
Gibt es eine Möglichkeit, ich kann den server nur senden Sie die JSON-Daten komprimiert, nur zu entpacken und die Arbeit auf in auf den browser ?
Dank.
Ich bin mit python -m CGIHTTPServer
wie mein server.
Dies ist der browser, Netzwerk-Aktivität Inspektor.
- Versuchen Sie, die mime-Typ CGI-Skript-Ausgabe, „Content-Type: application/gzip“. FWIW die komprimierte Datei ist mehr JSONP ( javascript-Datei) als „JSON“
Verwendung einer komprimierten übertragung-Codierung, wie gzip. Die Chancen stehen Ihre server schon konfiguriert ist, um zu dienen, und Ihr browser kann auch schon damit umgehen. Dann, Sie brauchen nicht, etwas zu tun. Als bonus kann der browser angeben, welche Kodierungen unterstützt werden.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding
Den Besonderheiten der Durchführung hängen auf Ihrem server. Meist ist es eine einfache config-Zeile. Wenn Sie eine Ressource, die Treffer sind sehr Häufig, können Sie auch pre-compress es so, dass der server nur hat, um es zu senden.