2016-05-04 146 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]