我在服务器上有一个非常重要的查询,它会生成一个新的页面呈现,我想把查询的一些结果传递给客户端(作为一个javascript对象数组).基本上就是这样,我以后不必再进行单独的JSON查询来获得相同的内容(大部分是静态的).这些数据最终会有用,但最初不是这样,所以我没有将其直接放入文档中.

app.get('/expensiveCall', function(req, res) {
    // do expensive call
    var data = veryExpensiveFunction();
    res.render('expensiveCall.jade', {
        locals: {
                data: data,
                }
        });
    });
});

数据是一个对象数组,最初只使用其中的一些.我希望传递全部数据或部分子集(取决于情况).我的玉石看起来像普通的玉石,但我想加一些像这样的东西.

<script type="text/javascript">
var data = #{data};
</script>

但是这不起作用(它是一个对象数组).

推荐答案

You can't inline a JS object like that, but you can JSON.stringify it before:

<script type="text/javascript">
  var data = !{JSON.stringify(data)};
</script>

Json相关问答推荐

Vegalite中分组条形图中的偏移量问题

为什么 Django Rest API 序列化器没有正确序列化多对多字段

使用 jq 和 awk 拆分大型 JSON 文件

Powershell 7.2:ConvertFrom-Json - 日期处理

Oracle Apex - 将 JSON 对象分配给变量以返回

Powershell 无法从名为 count 的键中获取价值

Powershell JSON 操作

序列化为json时如何忽略空列表?

在PowerShell中按时间戳过滤JSON

JSON.NET 中特定对象的自定义转换

Flask 请求和 application/json 内容类型

反序列化大型 json 对象的 JsonMaxLength 异常

IE中Json响应下载(7~10)

什么是类型和类型令牌?

Json.Net:用于自定义命名的 JsonSerializer-Attribute

jQuery fullcalendar 发送自定义参数并使用 JSON 刷新日历

使用 Node.js 对 JSON 中的字符串大小有限制吗?

[__NSCFNumber 长度]:发送到实例 UITableView 的无法识别的 Select 器

AJAX 将 JavaScript 字符串数组发布到 JsonResult 作为 List 总是返回 Null?

在 .NET 中缩小缩进的 JSON 字符串