2016-05-04 22 views
0

私はScalaとMongoDBを初めて使用しています。 JSON文字列(JSON文字列も入れ子にすることができます)を読み込み、Mongo DBに挿入するScalaプログラムを作成しています。mongoDBにjson文字列を挿入

私はいくつか以下のことを試しましたが、動作しません。

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)) 

誰でも私にこれを助けることができますか?私のアプローチが正しいかどうか教えてください。そうでない場合は、私がしなければならないすべてのことを教えてください。

追加コード:以下で

+0

@chridam私の場合で働いていたasInstanceOf [DBObjectを]:編集用に感謝し、使用している何のlibs –

+0

を読み込むためにそれを容易にしますか?なぜあなたは 'var'を使っていますか? – cchantep

+0

@yuvrajrajpurohitあなたはcasbahまたは他のライブラリを使用していますか?輸入com.mongodb.DB 輸入com.mongodb.DBCollection 輸入com.mongodb.DBCursor 輸入com.mongodb.DBObject インポートcom.mongodb.Mongo インポートCOM: – curious

答えて

0

私は答えを見つけ、

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文字列を有する列であります私のために働いた解決策。

Iは、単にエラーを引き起こした

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

を用いました。

は、代わりに私たちが提供する必要が

val dbObject: DBObject = JSON.parse(final_json_str).asInstanceOf[DBObject] 
関連する問題