2012-01-17 4 views
0

Cassandraのjsonスタイルの結果を解析するにはどうすればよいですか? 私はレールにcassandra-cql gemを使用しています。クエリ結果を解析してすべてのメッセージをリストしたいと思います。クエリは次のようになります。Cassandra cqlの結果を表示するにはどうすればよいですか?私はJSONを解析する必要がありますか?

def self.get_messages uid 
    @@db.execute("SELECT * FROM messages WHERE uid=?", uid) 
end 

すべてのメッセージはどのように表示できますか?

<% json_dec = ActiveSupport::JSON.decode(u.row.to_json) %> 
<% json_dec.each do |f| %> 
    <%= f[1] %><br/> 
<%end%> 

、それが返されます:私の現在のビューがある

1 
[{"name"=>"uid", "value"=>"1", "timestamp"=>-1}, {"name"=>"1326751801", "value"=>"test content", "timestamp"=>1326751801970000}, {"name"=>"1326754147", "value"=>"some content to test", "timestamp"=>1326754147612000}] 

は、クエリのために任意のより良い方法はありますか?どのように他の人がこの問題を解決するのですか?

答えて

2

jsonへのエンコーディングとデコードはあまり意味がありません。代わりに、column_name => valueのハッシュを与える行オブジェクトで#to_hashを呼び出すことができます。偉大なthatsの

def self.get_messages uid 
    @@db.execute("SELECT * FROM messages WHERE uid=?", uid).fetch 
end 
+0

感謝:あなたはfetchを呼び出すためにGET_MESSAGEの実装を変更する必要があるようですが、また見え

<% row.to_hash.each do |key, value| %> <p>key: <%= key %>, value: <%= value %></p> <%end%> 

:次に、あなたはそれを反復処理できます! – user934801

関連する問題