我想呈現紅寶石哈希到haml中的json字符串。 (該!
告訴HAML不要逃避輸出)HAML渲染as_json與散列火箭而不是冒號
! { :name => "Paul" }.as_json
我希望這個輸出
{ "name":"Paul" }
但我得到一個哈希火箭,而不是一個冒號
{ "name"=>"Paul" }
如何使哈姆或as_json
輸出一個冒號而不是散列火箭的屬性/值分隔符?
我想呈現紅寶石哈希到haml中的json字符串。 (該!
告訴HAML不要逃避輸出)HAML渲染as_json與散列火箭而不是冒號
! { :name => "Paul" }.as_json
我希望這個輸出
{ "name":"Paul" }
但我得到一個哈希火箭,而不是一個冒號
{ "name"=>"Paul" }
如何使哈姆或as_json
輸出一個冒號而不是散列火箭的屬性/值分隔符?
as_json
本質上是一種方法,允許您指定對象在JSON中的表示方式。它實際上並沒有返回一個JSON編碼的字符串。那需要to_json
。
原因是您可能想要決定在JSON編碼(例如,從用戶模型中刪除密碼)時模型返回哪些字段,但通過使用to_json
,您不再有能力將其嵌套另一個JSON對象,因爲它變成了一個編碼和轉義的字符串。
to_json
將調用as_json
,並將編碼返回值。
從引用: http://jonathanjulian.com/2010/04/rails-to_json-or-as_json/
to_json解決了我的問題 – Paul
你爲什麼不只是使用來自紅寶石''to_json'寶石json'? – Linuxios
@Linuxios因爲to_json轉義了我不想要的引號({\「name \」:\「Paul \」} – Paul
喲意味着什麼「逃避引號」? – Linuxios