我正在尝试使用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结果保存在一个User对象上。
我以前没有使用过json,以及如何操作它,它在Jbuilder readme here中解释了如何在模型中使用Jbuilder,但我无论如何都不能理解它。我试着玩弄这个例子,但它不起作用。
发布于 2018-01-04 17:20:25
我已经跟踪了你的代码,也试过了。我得到了这个解决方案,所以你可以试试这个。确保定义正确的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?> endhttps://stackoverflow.com/questions/48091598
复制相似问题