将json字符串插入mongoDB

时间:2016-05-04 12:44:17

标签: json mongodb scala

我是Scala和MongoDB的新手。我正在编写一个Scala程序来读取JSON字符串(它也可以嵌套json字符串)并将其插入到Mongo DB中。

我尝试过以下几件事,但它没有用。

1)尝试为JSON字符串创建一个Document,如下所示:

 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字符串的字符串,如{“name”:xyz,“age”:22}

1 个答案:

答案 0 :(得分:0)

我找到了答案,下面的解决方案对我有用。

我只是在使用

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

导致错误。

相反,我们需要提供在我的情况下工作的asInstanceOf [DBObject]

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