Ruby on rails 如何列出Cassandra cql结果?我必须解析JSON吗?

Ruby on rails 如何列出Cassandra cql结果?我必须解析JSON吗?,ruby-on-rails,json,cassandra,cql,Ruby On Rails,Json,Cassandra,Cql,如何解析来自Cassandra的json样式结果? 我正在使用cassandra cql gem for rails,我想解析查询结果以列出所有消息。我的查询如下所示: def self.get_messages uid @@db.execute("SELECT * FROM messages WHERE uid=?", uid) end 如何列出所有邮件?我目前的看法是: <% json_dec = ActiveSupport::JSON.decode(u.row.to_json)

如何解析来自Cassandra的json样式结果? 我正在使用cassandra cql gem for rails,我想解析查询结果以列出所有消息。我的查询如下所示:

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

有没有更好的查询方法?其他人如何解决这个问题

编码为json,再次解码没有多大意义。相反,您可以在row对象上调用
#to_hash
,这将为您提供
column_name=>value
的哈希值。然后,您可以迭代:

<% row.to_hash.each do |key, value| %>
  <p>key: <%= key %>, value: <%= value %></p>
<%end%>
<% row.to_hash.each do |key, value| %>
  <p>key: <%= key %>, value: <%= value %></p>
<%end%>
def self.get_messages uid
  @@db.execute("SELECT * FROM messages WHERE uid=?", uid).fetch
end