【问题标题】:Jbuilder extract json hash results using Jbuilder object?Jbuilder使用Jbuilder对象提取json哈希结果?
【发布时间】:2018-06-13 23:12:38
【问题描述】:

我正在尝试使用 Jbuilder 从 json 数组中提取一些 json 对象,就像这样

irb> photos = [{"album"=>{"created_time"=>"123", "name"=>"hello"}, {"album"=>{"created_time"=>"123", "name"=>"hello2"},........]

irb> json = Jbuilder.new
irb> json.photos photos do |photo|
irb* json.created_time photo.album.created_time
irb* end
nomethoderror: undefined method 'album' for Hash:0x65...>

或者使用我得到的to_json字符串转换为json字符串

nomethoderror undefined method 'map' for String:0x83....>

我需要的只是其中的数据,因此我可以将每组 json 结果保存在用户对象中

我之前没有使用过 json 以及如何操作它,它在 Jbuilder 自述文件here 中解释了如何在模型中使用 Jbuilder,但我终生无法理解它。我试图玩弄这个例子,但它不起作用。

【问题讨论】:

    标签: ruby-on-rails json ruby jbuilder


    【解决方案1】:

    我已经跟踪了您的代码并进行了尝试。我得到了这个解决方案,所以您可以试试这个。确保定义正确的 json 对象。

    photos = [{"album"=>{"created_time"=>"123", "name"=>"hello"}}, {"album"=>{"created_time"=>"123", "name"=>"hello2"}}]
    
    2.3.0 :011 > json.photos photos do |photo|
    2.3.0 :012 >     json.created_time photo['album']['created_time']
    2.3.0 :013?>   end
    

    【讨论】:

    • 好吧,这让我有点不知所措,我想我尝试过这种语法,但我可能一直在使用符号,并且需要字符串表示。非常感谢!
    猜你喜欢
    • 2013-12-14
    • 2013-09-24
    • 2015-04-20
    • 2015-11-14
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    相关资源
    最近更新 更多