【发布时间】:2017-05-08 15:28:20
【问题描述】:
我已从 API 请求数据,该数据以 JSON 格式返回,然后写入存储在 Web 服务器上的 JSON 文件。然后,我使用 Angular.js 将存储的 JSON 文件中的过滤内容显示到网页。
我用于将 API 响应写入文件的 NodeJS 代码如下:
var doNotStringify = {
currentTarget: true,
delegateTarget: true,
originalEvent: true,
target: true,
toElement: true,
view : true,
count : true,
message : true,
error : true,
}
tl.employees.all(function(response){
fs.writeFile(file, JSON.stringify(response, function(key, value) {
var result = value;
if(doNotStringify.hasOwnProperty(key)) {
result = undefined;
}
return result;
}, 4));
});
这会去除所有不需要的元素,除了“数据”。我无法删除上面函数中的数据,因为它删除了元素的内容。所以结果是下面的 JSON 文件:
{
"Data": [{
"FirstName": "Test1",
"LastName": "User",
}, {
"FirstName": "user",
"LastName": "user",
}, {
"FirstName": "Ropbert",
"LastName": "Jones",
}, {
"FirstName": "Jim",
"LastName": "Morrison",
}]
}
当手动编辑 'Data' 元素时,它可以在 HTML/Angular 中找到,如下所示:
<td>{{player.firstName}}</td>
但是,当写入包含“数据”元素的新 JSON 文件时,它会中断并且不会显示在网页上。
所以我的问题:
有没有办法使用 fs.writeFile 和 JSON.stringify 排除“数据”元素写入文件?
或者,我可以在 Angular 中做些什么来绕过它?
【问题讨论】:
标签: javascript angularjs json node.js api