将哈希转换为json string - rails

时间:2017-10-31 06:56:40

标签: ruby-on-rails json rails-api

我有一个帖子模型和控制器。但是,当我上传图片时,它会将image_data保存为哈希

{
        "id": 54,
        "image_data": "{\"id\":\"461dd0ca2c6ad31995a30039192d43cb.png\",\"storage\":\"store\",\"metadata\":{\"filename\":\"Artboard .png\",\"size\":13081,\"mime_type\":\"image/png\"}}",
        "user_id": 55,
        "created_at": "2017-10-31T06:42:35.809Z",
        "updated_at": "2017-10-31T06:42:35.908Z"
    } 

但我需要它显示为json字符串。 to_json不起作用,但是,当我做

时,创建控制器工作并完美显示
def as_json(options={})
{
:image => self.image
}
end

但show,index等给我一个错误<JSON::ParserError: 743: unexpected token at 'boo'

如何才能使所有内容都显示为json字符串?

{
    "image": {
        "id": "64b6f1b9654dc0ea91965e2003f7d270.png",
        "storage": "store",
        "metadata": {
            "filename": "Artboard .png",
            "size": 13081,
            "mime_type": "image/png"
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我认为你的问题是如何将它深深地转换为JSON对象,我认为没有内置函数可以做到这一点,看看这个answer,所以我想你应该创建一个将其深度转换为JSON的函数,希望它会有所帮助。