2017-07-21 118 views
2

我有一個包含json格式數據的文件。從json文件讀取數據並插入到mongodb(meteorjs)

{ 
"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,它會引發錯誤。

回答

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" 
} 

如果要創建新的數據對象,你可以使用下面的代碼來獲得,不會引發錯誤有效的JSON。

new Date().toJSON() 

也是它值得一提的是文件,你想使用#getText()應該在你的應用程序文件夾中的private目錄獲得。有關此主題的更多信息,請參閱Meteor docs

+1

然後,您可以使用字符串 - 「新日期('2017-07-21T11:59:26.040Z')'將其轉換爲日期。 – mparkitny

相關問題