我是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}
答案 0 :(得分:0)
我找到了答案,下面的解决方案对我有用。
我只是在使用
var document = (DBObject) JSON.parse(jsonString)
导致错误。
相反,我们需要提供在我的情况下工作的asInstanceOf [DBObject]
val dbObject: DBObject = JSON.parse(final_json_str).asInstanceOf[DBObject]