我有一个包含json格式数据的文件。
{
"channelName" : "practice",
"startDate" : ISODate("2017-07-22T06:29:35.681Z"),
"endDate" : ISODate("2017-08-22T06:29:35.681Z")
}
以上是文件格式。文件名是test.json。我想在我的服务器端读取它并插入db。我尝试使用Assets.getText但无法以json格式读取文件。以下是我写的代码
Assets.getText('channelTestData.json', function(err, res){
// var test = JSON.parse(res);
// console.log('tets : ' + test);
Channel.insert(res);
// Channel.save(res);
});
如果我使用JSON.parse或EJSON.parse,则会引发错误。
答案 0 :(得分:1)
您的日期是无效的JSON。您可能会收到此错误:
Exception in callback of getAsset SyntaxError: Unexpected token I
您可以在此处找到有效的JSON数据类型(wikipedia)。您的JSON文件应如下所示:
{
"channelName" : "practice",
"startDate" : "2017-07-21T11:59:26.040Z",
"endDate" : "2017-07-21T11:59:26.040Z"
}
如果要创建新的Data对象,可以使用下面的代码来获取不会抛出错误的有效JSON。
new Date().toJSON()
另外值得一提的是,您希望使用#getText()
获取的文件应位于app文件夹的private
目录中。有关此主题的更多信息,请参阅Meteor docs