dja*_*ngo 1 ruby string hash json ruby-on-rails
我在我的模型中将一个字段保存为字符串,所以之后我尝试通过控制台
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
Run Code Online (Sandbox Code Playgroud)
我试图将其转换为json或hash,因为我需要从中获取值,有什么办法可以做到这一点吗?
看起来你的字符串是一个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"}}
Run Code Online (Sandbox Code Playgroud)