【发布时间】:2015-07-28 09:46:27
【问题描述】:
我的 node.js 代码中有一个 JSON 对象,其中包含循环引用。为了将这些数据发送到浏览器,我使用了 NPM 模块circular-json 对对象进行字符串化并序列化循环引用:
var CircularJSON = require("circular-json");
app.get("/api/entries", function(req, res){
contentClient.entries({"content_type": "xxxxxxxxxxx"}, function(err, entries){
if (err) throw err;
res.send(CircularJSON.stringify(entries));
});
});
这工作正常并通过res.send(); 发送序列化数据
现在,在我的前端 Angular 代码中,我需要使循环引用可用。对象中的序列化字段之一在客户端如下所示:"~0~fields~twitter~1"
我在浏览器中尝试了以下操作:
- 将
circular-json.js的一个版本复制到我的前端站点 - 链接到我的
index.html中的脚本,如下所示:<script src="/framework/lib/circular-json.js"></script> - 像这样设置
CircularJson变量:var CircularJSON = window.CircularJSON; -
像这样解析传入的 JSON:
$http.get("/api/entries").then(function(res){ console.log(CircularJSON.parse(res.data[0])); });
我收到以下错误:
SyntaxError: Unexpected token o
【问题讨论】:
-
您可能必须在客户端使用相同的库。
-
@FelixKling Yeh 我想是这样,但我不知道该怎么做。我按照他们的指南进行操作,但没有成功。
-
如果您发布您尝试过的内容并解释问题所在,我们或许可以为您提供帮助。
-
好的,我会更新我的问题
-
@FelixKling 我已经更新了用于解析 JSON 的前端代码
标签: javascript json angularjs node.js contentful