2017-07-21 23 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です。私は私のサーバー側でそれを読んで、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を使用すると、エラーが発生します。

答えて

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

にあります。文字列 'new date( '2017-07-21T11:59:26.040Z')を使用して日付に変換できます。 – mparkitny

関連する問題