2017-02-28 9 views
0

RMongoライブラリを使用してmongoデータベースからデータを抽出しました。私は問題のないデータを扱っています。しかし、元々データベースに保存されていたフィールドにJSONとしてアクセスする必要があります。 rmongodbがデータフレームとしてデータを保存するので、私は今、長さ1の大文字ベクトルを有する:JSON - 文字の問題

res1 = "[ { \"text\" : \"@Kayture Beyoncé jam session ?\" , \"name\" : \"beponcé \xed\xa0\xbc\xed\xbc\xbb\" , \"screenName\" : \"ColaaaaTweedy\" , \"follower\" : false , \"mentions\" : [ \"Kayture\"] , \"userTwitterId\" : \"108061963\"} , { \"text\" : \"@Kayture fucking marry me\" , \"name\" : \"George McQueen\" , \"screenName\" : \"GeorgeMcQueen12\" , \"follower\" : false , \"mentions\" : [ \"Kayture\"] , \"userTwitterId\" : \"67896750\"}]" 

私はこの配列からオブジェクトのすべての「テキスト」属性を抽出する必要がある(2この例であります)しかし、私は速い方法を理解することはできません。私はstrsplitを使用しようとしていた、またはjsonliteを使用して文字からjsonファイルに移動してからリストに追加しようとしましたが、動作しません。

アイデア?

ありがとうございます!

+0

'rmongodb'。 – ottlngr

+0

確かに、これについて申し訳ありません...代わりにRMongoを使用しているので、元の質問を編集しました。 col < - dbGetQuery(mongo、 "collection"、 "{}"、0、n)を使ってコレクションを抽出します。ここで、nは抽出したオブジェクトの数です。 colはデータフレームです。 – Andres

+0

だから 'res1'とは何ですか? – ottlngr

答えて

2

あなたはそのJSONオブジェクトを解析するjsonliteパッケージからfromJSON()を使用することができます

res1 = "[ { \"text\" : \"@Kayture Beyoncé jam session ?\" , \"name\" : \"beponcé \xed\xa0\xbc\xed\xbc\xbb\" , \"screenName\" : \"ColaaaaTweedy\" , \"follower\" : false , \"mentions\" : [ \"Kayture\"] , \"userTwitterId\" : \"108061963\"} , { \"text\" : \"@Kayture fucking marry me\" , \"name\" : \"George McQueen\" , \"screenName\" : \"GeorgeMcQueen12\" , \"follower\" : false , \"mentions\" : [ \"Kayture\"] , \"userTwitterId\" : \"67896750\"}]" 

からスタート。私はそれを得ることはありません...たぶん、あなたはを通してのMongoDBとの通信方法をいくつかのコードを提供 - あなたは今、あなたは文字ベクトルを持つように `rmongodb`がdata.frame``としてデータを提供することを言う

library(jsonlite) 

fromJSON(res1) 

          text   name  screenName follower mentions userTwitterId 
1 @Kayture Beyoncé jam session ? beponcé í ¼í¼» ColaaaaTweedy FALSE Kayture  108061963 
2 @Kayture fucking marry me  George McQueen GeorgeMcQueen12 FALSE Kayture  67896750 
+0

ありがとう!私はJSONに変換しようとしていましたが、fromSSONを使用しました。間違いです。再度、感謝します! – Andres

関連する問題