【发布时间】:2016-02-24 13:12:04
【问题描述】:
我正在尝试解析与 json 的 Rails 活动记录关系。
jQuery('.user_form').data('mydata', '<%= raw User.all.to_json %>');
var myPersonalData = JSON.parse(jQuery('.user_form').data('mydata'));
这是我的 rails 对象
'"[{\"id\":1,\"email\":\"1@2.com\",\"created_at\":\"2016-02-24T12:39:29.184Z\",\"updated_at\":\"2016-02-24T12:39:29.184Z\",\"username\":\"xyz's\",\"skypeid\":null},{\"id\":2,\"email\":\"3@2.com\",\"created_at\":\"2016-02-24T12:39:41.455Z\",\"updated_at\":\"2016-02-24T12:39:41.455Z\",\"username\":\"abs's\",\"skypeid\":null}]"'
问题在于用户名列中的值包含“'”(撇号),它破坏了单引号和双引号链,因此在从 javascript 解析它时会引发错误。
SyntaxError: missing ) after argument list path/to/file:linenumber
问题在于“” 它被转换为
' "object_attribut\": \" value_with'apostrophe" '
因此 ' 之后的部分被转义了。
感谢任何帮助。提前致谢。
【问题讨论】:
-
你可以改用这个 to_a,
<%= raw User.all.to_a %>. -
@Sahil,为什么我们需要
to_a,根据问题,我猜我们需要将json发送到javascript。 -
很抱歉它给出了二维数组。
标签: javascript ruby-on-rails json