将哈希转换为 json 字符串 - rails



我有一个帖子模型和控制器。但是当我上传图像时,它会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

但是显示、索引等给了我一个错误<JSON::ParserError: 743: unexpected token at 'boo'

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

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

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