【问题标题】:read data from json file and insert into mongodb (meteorjs)从 json 文件中读取数据并插入 mongodb (meteorjs)
【发布时间】:2017-07-21 21:36:33
【问题描述】:

我有一个包含 json 格式数据的文件。

{
"channelName" : "practice",
"startDate" : ISODate("2017-07-22T06:29:35.681Z"),
"endDate" : ISODate("2017-08-22T06:29:35.681Z")
}

以上是文件格式。文件名是 test.json。我想在我的服务器端读取它并插入到数据库中。我尝试使用 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,它会引发错误。

【问题讨论】:

    标签: javascript json meteor


    【解决方案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() 获取的文件应该位于您的应用文件夹中的private 目录中。有关此主题的更多信息,请参阅Meteor docs

    【讨论】:

    • 您可以使用字符串将其转换为日期 - new Date('2017-07-21T11:59:26.040Z')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-17
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多