因此,我使用 to_json 将 Ruby on Rails 中的对象序列化为 JSON 格式。产生的输出是:
'{"description":"---\n- Nulla adipisci quia consequuntur nam ab et. Eius enim ad aut. Asperiores recusandae\n labore exercitationem.\n quos provident.\n","id":295,"name":"Animi enim dolorem soluta eligendi inventore quia distinctio magni.","privacy":0,"updated_at":"2012-11-18T22:24:17Z","user_id":1}'
这需要由 JSON.parse 解析以反序列化客户端 javascript 中的对象。\n
目前,由于“描述”值中的换行符,这失败了。我尝试使用gsub("\n","\\n")
和其他排列对字符进行适当的编码,但我似乎找不到正确匹配换行符(并且只有换行符)的字符串或正则表达式。我已经尝试过/\n/
, '\n'
, "\n"
, "\\n"
(由于某种原因,这匹配字符串上的任何地方)/\\n/
等等,但找不到任何东西。有什么我想念的想法吗?
更新:这是我试图用来填充 javascript 对象的代码(javascript,但嵌入了 ruby)(它在 ERB 视图中,因此是尖括号):
var object = JSON.parse('<%= raw @object.to_json %>');
to_json
在我的目标代码中没有被覆盖,只是标准的 rails 方法。