我在模型中将一个字段保存为字符串,所以之后我尝试通过控制台
1.9.3-p547 :250 > s1 = s.send_details
=> "---\nnew_order: order\nprogress: order on d way\ndelivered:\n
message: delivered\n send_after: '1'\n"
1.9.3-p547 :255 > JSON.parse(s1)
JSON::ParserError: 757: unexpected token at '---
'
1.9.3-p547 :262 > s1.class
=> String
我正在尝试将其转换为json或hash,因为我需要从中获取值,有没有办法做到这一点?
答案 0 :(得分:5)
看起来你的字符串是YAML。您可以使用YAML.load
轻松解码它:
require 'yaml'
YAML.load("---\nnew_order: order\nprogress: order on d way\ndelivered:\n message: delivered\n send_after: '1'\n")
=> {"new_order"=>"order", "progress"=>"order on d way", "delivered"=>{"message"=>"delivered", "send_after"=>"1"}}