2013-09-04 13 views
14

Ich habe versucht, eine 7,4 MB JSON-Datei zu importieren über ...mongodbimport Failure - FailedToParse: Erwartung '{': Offset: 0

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

Aber ich sah dieses Problem.

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

Dieser Stackoverflow post präsentiert ein ähnliches Problem in Bezug auf den Zeitpunkt vor Jan auftretenden 1, 1970, aber das scheint nicht meine FailedToParse: Expecting '{': offset:0 Fehler gegeben anzuwenden.

+0

Haben Sie es über einen JSON-Validator gesendet? – Sammaye

+0

Ich löschte Text, um die 7,4 MB-Datei auf 6 KB zu reduzieren, während die Gesamtstruktur beibehalten wurde. Mit JSON Viewer (Notepad ++ Plugin) konnte ich den Text als JSON analysieren. Dann habe ich versucht, den oben genannten 'Mongoimport' auf meiner 6 KB-Datei auszuführen, habe aber die gleichen Fehler wie oben aufgelistet. –

+2

Können Sie ein Beispiel Ihres fehlgeschlagenen JSons posten? – Ross

Antwort

2

Stellen Sie sicher, dass Ihre JSON-Datei korrekt formatiert ist ... Entfernen Sie '[' - Klammern am Anfang und Ende, falls vorhanden. Überprüfen Sie Ihren JSON, wenn Sie irgendwelche leeren Zeilen haben. Prüfen Sie auch, dass die json Dokumente durch eine neue Zeile getrennt haben ..

+0

Das Entfernen der eckigen Klammern funktionierte für mich. Vielen Dank! – jdsantiagojr

+1

@harsha, das Entfernen der Klammern macht es zu einem Objekt, nicht Array. Es wird also funktionieren, wenn Sie nur ein Objekt in diesem Array haben und es wird fehlschlagen, wenn Sie mehr als eins haben. –

+0

Nur für Info: Verwenden Sie online Json Formatierer, um JSON zu validieren http://www.jsoneditoronline.org/ –

32

scheint, ich bin viel zu spät, aber mit der richtigen Antwort:

hinzufügen --jsonArray in Ihrer Erklärung und es wird funktionieren. Es sollte lesen wie:

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

Prost !!

+1

Danke, das half mein Problem zu lösen. Meine JSON-Datei hatte mehrere Ebenen, so dass das '--jsonArray' korrekt geladen wurde. FYI auf der Mongo-Dokumentation, es bedeutet "Laden Sie ein JSON-Array, nicht ein Element pro Zeile. Derzeit begrenzt auf 16 MB" – Will