2013-09-04 5 views
14

मैं के माध्यम से एक 7.4 एमबी JSON फ़ाइल आयात करने के लिए ...mongodbimport विफलता - FailedToParse: उम्मीद '{': ऑफसेट: 0

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

की कोशिश की लेकिन मैं इस मुद्दे को देखा।

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

यह Stackoverflow post दिनांक 1 जनवरी, 1970 से पहले होने वाली के संबंध में एक समान मुद्दा प्रस्तुत किया, लेकिन है कि मेरी FailedToParse: Expecting '{': offset:0 त्रुटि दी लागू करने के लिए प्रतीत नहीं होता।

+0

क्या आपने इसे JSON सत्यापनकर्ता के माध्यम से भेजा है? – Sammaye

+0

मैंने समग्र संरचना को बनाए रखते हुए 7.4 एमबी फ़ाइल को 6 KB तक कम करने के लिए टेक्स्ट हटा दिया। JSON व्यूअर (नोटपैड ++ प्लगइन) का उपयोग करके, मैं पाठ को जेएसओएन के रूप में पार्स करने में सक्षम था। फिर, मैंने उपरोक्त 'mongoimport' को मेरी 6 केबी फ़ाइल पर चलाने की कोशिश की, लेकिन जैसा कि मैंने ऊपर सूचीबद्ध किया है वही त्रुटियां मिलीं। –

+2

क्या आप अपने जेसन का नमूना पोस्ट कर सकते हैं जो असफल हो रहा है? – Ross

उत्तर

2

सुनिश्चित करें कि आपकी जेसन फ़ाइल सही रूप से स्वरूपित है ... '[' ब्रैकेट को शुरू करने और समाप्त होने पर समाप्त करें। यदि आपके पास कोई खाली रेखा है तो अपने जेसन की जांच करें। यह भी जांच कि json दस्तावेजों को एक नई लाइन से अलग कर दिया है ..

+0

टैग के भीतर लाइनब्रैक होने पर यह विफल हो सकता है मेरे लिए काम किए गए स्क्वायर ब्रैकेट को हटा रहा है। धन्यवाद! – jdsantiagojr

+1

@harsha, ब्रैकेट को हटाने से यह एक ऑब्जेक्ट बन जाएगा, सरणी नहीं। इसलिए यदि आपके पास उस सरणी में केवल एक ऑब्जेक्ट है तो यह काम करेगा और यदि आपके पास एक से अधिक हैं तो विफल हो जाएगा। –

+0

बस जानकारी के लिए: जेसन को सत्यापित करने के लिए ऑनलाइन जेसन फॉर्मेटर का उपयोग करें http://www.jsoneditoronline.org/ –

32

लगता है मैं बहुत देर हो चुकी है, लेकिन सही जवाब के साथ कर रहा हूँ:

अपने बयान में --jsonArray जोड़ सकते हैं और यह काम करेंगे। इसे पढ़ना चाहिए:

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

चीयर्स !!

+1

धन्यवाद, इससे मेरी समस्या हल हो गई। मेरी JSON फ़ाइल में कई परतें थीं ताकि '--jsonArray' को सही ढंग से लोड किया जा सके। मोंगो दस्तावेज पर एफवाईआई, इसका मतलब है "एक जेसन सरणी लोड करें, प्रति पंक्ति एक आइटम नहीं। वर्तमान में 16 एमबी तक सीमित है" – Will

संबंधित मुद्दे