2012-05-22 3 views
13

Mi piacerebbe sentire i vostri suggerimenti su come gestire un grande file JSON (40 MB) su Ubuntu. Mi piacerebbe vederlo stampato in vim o gedit o qualsiasi altro editor. Si possono trovare tutorial numeroso su come prettify the JSON, tuttavia, non devono occuparsi di input di grandi dimensioni. Immagino anche che potrei trasmettere i dati tramite pygments o qualsiasi altro evidenziatore della sintassi. Sono curioso di sentire le tue idee.Come vedere un grande file JSON stampato su Ubuntu?

Esempio scaricare:

wget -O large-dataset.json http://data.wien.gv.at/daten/wfs?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:BAUMOGD&srsName=EPSG:4326&outputFormat=json 

Si prega di mente la dimensione del download!


EDIT: ho scoperto che meld sta lavorando un po '. L'applicazione non carica l'intero file in una sola volta che bloccherebbe l'interfaccia utente. Invece legge sequenzialmente il contenuto del file.

risposta

4

Hai KDE o qualsiasi altro ambiente visivo? Se sì, hai provato a utilizzare l'estensione chrome JSONView?

+1

Sto usando Gnome su Ubuntu 10.10. Uso [JSON formatter] (https://chrome.google.com/webstore/detail/bcjindcccaagfpapjjmafapmmgkkhgoa) e ho provato il tuo suggerimento. Entrambi funzionano alla grande quando carico un file JSON via HTTP. Tuttavia, nessuna evidenziazione della sintassi viene applicata quando apro il file con Chromium. Strano anche che le altre applicazioni quasi muoiono quando aprono il file di grandi dimensioni mentre Chromium non presenta problemi nello stesso caso. – JJD

+0

No. I grand +1 poiché JSONView sembra più veloce del formattatore JSON. Tuttavia, non risolvono il mio problema come ho già affermato. – JJD

+0

Ho scoperto ** come formattare i file locali ** anche. Devi [abilitare l'accesso ai file locali] (https://github.com/gildas-lormeau/JSONView-for-Chrome/issues/14) per l'estensione esplicitamente. – JJD

2

L'utilizzo di base è una formattazione abbastanza grande JSON. Ho provato l'estensione JSON View di Chrome con un file json da 25 MB. Si blocca durante il caricamento come file locale o dalla rete. In caso di crash, voglio dire che JSON non verrà formattato e guardando nelle opzioni di visualizzazione JSON, riceverai un messaggio di errore. Ho anche provato degli addon simili per Firefox. Ho provato anche i formattatori JSON online.

Ha trovato questa biblioteca - jsonpps. Funziona abbastanza bene con un bel json abbastanza grande dalla riga di comando, prendendo input e salvando il json formattato come file separato. Può anche salvare nello stesso file (necessario parametro opzionale)

Uno svantaggio, per installare ed eseguire, uno dovrebbe essere più familiare con Java e Maven.

Per installare & run:

git clone https://github.com/bazaarvoice/jsonpps.git 
mvn clean package 
cd target 
java -jar jsonpps-1.2-SNAPSHOT.jar -o /path/to/output.json /path/to/largeInput.json 

Questa soluzione non è limitata ad Ubuntu. Dovrebbe funzionare su qualsiasi sistema operativo.

7

modulo di Python JSON può fare anche questo (python -m json.tool), ad es .:

cat myjsonfile.json | python -m json.tool > pretty.json