2016-05-04 183 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是具有像{ 「名稱」:XYZ, 「年齡」:22} JSON字符串字符串

+0

@chridam:感謝編輯,很容易使您正在使用什麼庫閱讀 –

+0

?你爲什麼使用'var'? – cchantep

+0

@yuvrajrajpurohit你使用卡巴或其他圖書館? – curious

回答

0

我找到答案和下面是解決方案爲我工作。

我只是用

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

這是造成錯誤。

相反,我們需要提供asInstanceOf [DBOBJECT],它曾在我的情況

val dbObject: DBObject = JSON.parse(final_json_str).asInstanceOf[DBObject]