2015-06-16 7 views
5

मैं mongoimport का उपयोग कर एक सरल json फ़ाइल आयात करने की कोशिश की और मैं निम्न त्रुटिMongoDB - Mongoimport त्रुटि अमान्य वर्ण

PER-MacBook-Pro:/AJ$ mongoimport --db test --collection samplePM --file /users/AJ/Documents/Development/ETLwork/Dummydata/Penguin_Players.json 
2015-06-16T09:53:57.291-0400 connected to: localhost 
2015-06-16T09:53:57.293-0400 Failed: error processing document #1: invalid character '\\' looking for beginning of object key string 
2015-06-16T09:53:57.293-0400 imported 0 documents 

नमूना json फ़ाइल प्रकार है मिलती है:

 { 
     "position":"Right Wing", 
     "id":8465166, 
     "weight":200, 
     "height":"6' 0\"", 
     "imageUrl":"http://1.cdn.nhle.com/photos/mugs/8465166.jpg", 
     "birthplace":"Seria, BRN", 
     "age":37, 
     "name":"Craig Adams", 
     "birthdate":"April 26, 1977", 
     "number":27 
     }, 
     { 
     "position":"Right Wing", 
     "id":8475761, 
     "weight":195, 
     "height":"6' 2\"", 
     "imageUrl":"http://1.cdn.nhle.com/photos/mugs/8475761.jpg", 
     "birthplace":"Gardena, CA, USA", 
     "age":23, 
     "name":"Beau Bennett", 
     "birthdate":"November 27, 1991", 
     "number":19 
     } 

मैं कुछ कर रहा हूँ यहाँ गलत है?

+1

लगता है कि आपके पास गैर "यूटीएफ -8" वर्ण नहीं हैं, जहां आपका नमूना –

उत्तर

4

गैर "यूटीएफ -8" वर्णों के बारे में टिप्पणी उपयोगी थी।

ऐसा लगता है कि मैक में टेक्स्टडिट का उपयोग करके जेसन दस्तावेज़ बनाने में कोई समस्या है। मुझे इन गैर यूटीएफ -8 अक्षरों को नहीं मिला, लेकिन मैक खोल में vi test.json का उपयोग करके मैंने वही फाइल बनाई। मैंने सामग्री चिपकाई, फ़ाइल को सहेजा और इस्तेमाल किया mongoimport। यह अब काम करता है।

धन्यवाद

+1

नहीं दिखा रहा था, वही समस्या थी - एक उत्कृष्ट पाठ में जेसन दस्तावेज़ बनाने का अंत हुआ - त्रुटि हल हो गई। –

+3

बीओएम के बिना यूटीएफ -8 एन्कोडिंग मेरे लिए काम करता है http://stackoverflow.com/questions/2223882/whats- अलग-between-utf-8-and-utf-8-without-bom –

0

मैं, --jsonArray टैग का उपयोग कर फ़ाइल पूरा पथ देने के साथ भाग प्राप्त करने में सक्षम था, और यह शुरुआत में और अंत में कोष्ठक जोड़ने संशोधित,

[{"my":"json","file":"imported"},{"my":"cool","file":"succeeded"}] 

mongoimport --db myCoolDb --collection myCoolColl --file /path/to/my/imported/file.json --jsonArray 
+2

fyi '--jsonArray' सीमित है 16 एमबी या छोटे आयात के लिए। –

0

मुझे Failed: error processing document #112783: invalid character ',' looking for beginning of value मिल रहा था क्योंकि मेरी वस्तुओं में से एक अनुचित रूप से स्वरूपित किया गया था। यह देखें कि "मनोशल्य" घुंघराले ब्रेसिज़ याद आ रही है:

{ 
    "word": "psychosurgeons", 
    "firstLetter": "p" 
} 
    " psychosurgery", 
{ 
    "word": "psychosurgical", 
    "firstLetter": "p" 
} 

चूंकि फ़ाइल में 600,000 से अधिक लाइनों मैं आयात करने के लिए कोशिश कर रहा हूँ कर रहे हैं, इस मैन्युअल रूप से खोजने के लिए मुश्किल हो गया होता।

तो मैंने पूर्ण verbosity (-vvvvv) सक्षम के साथ उसी mongoimport कमांड को चलाया, और स्क्रिप्ट समस्याग्रस्त वस्तु पर सही रुक गई। अधिक जानकारी के लिए mongoimport --help देखें।

उम्मीद है कि यह किसी की मदद करेगा।

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