当我JSON.stringfy(对象)时,我得到一个疯狂的字符串作为值
When I JSON.stringify(object) I get a crazy string as a value
当我将一个包含对象数组的对象从快速路由发送到我的客户端时,我会得到一个[object-object],然后当我尝试字符串化它时,我得到了这个带有控制台消息的疯狂字符串
var messages = "<%=(JSON.stringify(messages))%>"
console.log(messages)
它把这个打印到控制台。。。
{"messages":[{"content":"cool mane","creator":"joe"},{"content":"test 4","creator":"joe"},{"content":" ewgdqf","creator":"joe"},
它应该是一些东西,这样我就可以通过做messages[0]。内容,但我得到了这个疯狂的字符串,它不会让我用它做任何事情…
如果我试着循环浏览它,它只会自己打印出每个字符。
使用<%= ... %>
时,EJS将对任何输出进行编码/转义。这就是为什么JSON中的"
被编码为"
。根据这个答案,您可以使用<%- ... %>
来防止转义。
也不需要将输出放入字符串文字中。这实际上很糟糕,因为嵌套引号可能会出现问题。只需让它直接输出到JS代码中即可:
var messages = <%-JSON.stringify(messages)%>;
尝试更改此项:
var messages = "<%=(JSON.stringify(messages))%>"
console.log(messages)
有了这个:
var messages = JSON.stringify("<%=messages%>");
console.log(messages)
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 我应该如何从xml文件构建一个javascript页面
- 当我JSON.stringfy(对象)时,我得到一个疯狂的字符串作为值
- 我如何在疯狂商业的index.html.erb中制作一个全宽滑块