2016-05-04 2 views
0

Я новичок в Scala и MongoDB. Я пишу программу Scala для чтения строки JSON (она также может быть вложенной json-строкой) и вставлять ее в Mongo DB.Вставьте строку json в mongoDB

Я пробовал несколько вещей, но не работал.

1) Пытался создать документ для строки JSON, как показано ниже:

var document = (DBObject) JSON.parse(jsonString) 

но получаю ошибку

"value JSON is not member of object com.mongodb.DBObject". 

2) также попытался с bson.Document, как показано ниже, но все еще может заставить его работать

var myDoc = (Document.parse(schemajson)) 

Может ли кто-нибудь помочь мне в этом? Пожалуйста, дайте мне знать, подходит ли мой подход. Если нет, пожалуйста, дайте мне знать, что мне нужно делать.

добавив код:

val hadoopRDD = sc.textFile(data_file).foreach(line => 
    { 
    data_array.clear 

    line.split("\t").foreach(word => data_array += word) 

    println(data_array) 

    var final_json = (schemajson.format(data_array: _*)) 

    var document = (DBObject) JSON.parse(jsonString) 

в коде выше final_json является строкой, имеющей JSon строки как { "имя": А "возраст": 22}

+0

@chridam: спасибо за редактирование и делает его легким для чтения –

+0

Что ЛИЭС вы используете? Почему вы используете 'var'? – cchantep

+0

@yuvrajrajpurohit Используете ли вы casbah или какую-то другую библиотеку? – curious

ответ

0

Я нашел ответ и ниже является решение, которое сработало для меня.

Я просто с помощью

var document = (DBObject) JSON.parse(jsonString) 

, который вызывает ошибку.

Вместо этого мы должны обеспечить asInstanceOf [DBObject], который работал в моем случае

val dbObject: DBObject = JSON.parse(final_json_str).asInstanceOf[DBObject] 
Смежные вопросы