我正在尝试将 ruby 哈希渲染为 haml 中的 json 字符串。(!
告诉haml不要逃避输出)
! { :name => "Paul" }.as_json
我期待这个输出
{ "name":"Paul" }
但我得到的是哈希火箭而不是冒号
{ "name"=>"Paul" }
如何as_json
为属性/值分隔符制作 haml 或输出冒号而不是哈希火箭?
我正在尝试将 ruby 哈希渲染为 haml 中的 json 字符串。(!
告诉haml不要逃避输出)
! { :name => "Paul" }.as_json
我期待这个输出
{ "name":"Paul" }
但我得到的是哈希火箭而不是冒号
{ "name"=>"Paul" }
如何as_json
为属性/值分隔符制作 haml 或输出冒号而不是哈希火箭?
as_json
本质上是一种允许您指定对象如何在 JSON 中表示的方法。它实际上并没有返回 JSON 编码的字符串。to_json
为此需要。
这样做的原因是,您可能想要决定在 JSON 编码时模型返回哪些字段(例如,从 User 模型中删除密码),但是通过使用to_json
,您不再能够将其嵌套在另一个 JSON 对象中,因为它已成为编码和转义的字符串。
to_json
将调用as_json
,并对返回值进行编码。
引用自:http: //jonathanjulian.com/2010/04/rails-to_json-or-as_json/