2013-09-04 14 views
14

ho cercato di importare un file JSON 7.4 MB via ...mongodbimport Failure - FailedToParse: Expecting '{': offset: 0

mongoimport -d mongoimport -c test --file jsonTest.json

ma ho visto questo problema.

Wed Sep 04 13:08:52.378 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0

Questo StackOverflow post presentato un problema simile con rispetto alla data che si verificano prima del 1 gennaio 1970, ma che non sembra applicabile dato il mio errore FailedToParse: Expecting '{': offset:0.

+0

L'hai inviato tramite un validatore JSON? – Sammaye

+0

Ho eliminato il testo per ridurre il file da 7,4 MB a 6 KB mantenendo la struttura generale. Usando JSON Viewer (plugin Notepad ++), sono stato in grado di analizzare il testo come JSON. Quindi, ho provato a eseguire il 'mongoimport' sopra il mio file da 6 KB, ma ho ottenuto gli stessi errori che ho elencato sopra. –

+2

Puoi pubblicare un esempio del tuo json che sta fallendo? – Ross

risposta

2

Assicurarsi che il file JSON sia formattato correttamente ... Rimuovere '[' parentesi all'avvio e alla fine se presente. Controlla il tuo json se hai linee vuote. Verificare inoltre che i documenti JSON devono separati da una nuova linea ..

+0

La rimozione delle parentesi quadre ha funzionato per me. Grazie! – jdsantiagojr

+1

@harsha, rimuovere le parentesi renderà un oggetto, non una matrice. Quindi funzionerà nel caso in cui tu abbia un solo oggetto in quell'array e fallirà se ne hai più di uno. –

+0

Solo per informazioni: Usa json formattatore online per convalidare json http://www.jsoneditoronline.org/ –

32

sembra Io sono molto in ritardo, ma con la risposta corretta:

aggiungere --jsonArray nella sua dichiarazione e che funzionerà. Dovrebbe essere:

mongoimport -d mongoimport -c test --file jsonTest.json --jsonArray 

Saluti !!

+1

Grazie, questo ha aiutato a risolvere il mio problema. Il mio file JSON aveva più livelli, quindi aggiungendo '--jsonArray' lo caricava correttamente. FYI sulla documentazione di mongo, significa "carica un array json, non un elemento per riga. Attualmente limitato a 16 MB" – Will