我正在从我的 Rails 后端的 Twitter API 获取推文。我能够在我的数据库中创建推文,然后将推文呈现为 JSON。但推文的一部分仍然显示为字符串。如何将此特定部分转换为 Ruby 哈希,以便我可以访问键:值对?
我试过 .serializable_hash、.hash、to_json,但要么数据类型错误(需要是数组),要么只是添加了更多 \ 字符
.strip、.split、.gsub 也不起作用
当我放置字符串时,它看起来像一个哈希,但我无法保存该输出
这是呈现 json 的方式:
"media": [
"{\"id\"=>1159941035461529600, \"id_str\"=>\"1159941035461529600\", \"indices\"=>[62, 85], \"media_url\"=>\"http://pbs.twimg.com/media/EBjwOeMVUAAVOia.jpg\", \"media_url_https\"=>\"https://pbs.twimg.com/media/EBjwOeMVUAAVOia.jpg\", \"url\"=>\"https://t.asdco/mFwUSlGEpv\", \"display_url\"=>\"pic.twitter.com/mFwUSlGEpv\", \"expanded_url\"=>\"https://twitter.com/CommonBlackGirI/status/1159941046161170432/photo/1\", \"type\"=>\"photo\", \"sizes\"=>{\"thumb\"=>{\"w\"=>150, \"h\"=>150, \"resize\"=>\"crop\"}, \"medium\"=>{\"w\"=>1122, \"h\"=>819, \"resize\"=>\"fit\"}, \"large\"=>{\"w\"=>1122, \"h\"=>819, \"resize\"=>\"fit\"}, \"small\"=>{\"w\"=>680, \"h\"=>496, \"resize\"=>\"fit\"}}}"
]
我试图在序列化程序文件中创建一个方法,但这不起作用,因为它只是字符串,而不是可遍历的哈希
def media_url
tweet = self.object
tweet.media[0]
end
我想将上面的字符串转换为 Ruby 哈希,以便我可以获得每条推文的 media_url