2017-07-27 10 views
-1

NodeJSのファイルからJSON配列をロードするにはどうすればよいですか?ファイルNodeJSからJSON配列をロードするには?

[ 
{ "date": "2017-02-18" }, 
{ "date": "2017-02-18" }, 
] 

input.json

var fs = require('fs'); 
fs.readFile('input.json', (err, fileContent) => { 
    if(err) { 
    } else { 
     data = JSON.parse(fileContent); 
     console.log(fileContent); 
    } 
}) 

エラーを取得:でSyntaxError:予期しないトークン] JSON内の位置

+4

は ''最後の除去を読みながら、JSONのデータは、その後UTF8を置く示したいと思います。 JSONが無効になります。 –

+2

JSONファイルを 'require 'できることに注意してください。 'require'ロードし、それをJSONとして解析します! – undefined

+0

@ DanielA.Whiteコンソールログ<バッファ5b 0d 0a 7b 20 22 64 61 74 65 22 3a 20 22 32 30 31 36 2d 30 31 2d 30 35 22 2c 20 22 75 73 65 72 5f 69 64 22 3a 20 31 2c 20 22 75 73 65 72 5f 74 79 70 ...>配列をログするべきではありませんか? – GiedriusM

答えて

0

それはブラケットを閉じる前に最後に1つの余分なコンマ()(])が含まれていinput.json更新

[ 
{ "date": "2017-02-18" }, 
{ "date": "2017-02-18" } 
] 

、あなたはNode.jsの中JSONファイルを読んでいる場合と、ファイル

var fs = require('fs'); 
fs.readFile('input.json', 'utf8',(err, fileContent) => { 
    if(err) { 
    } else { 
     data = JSON.parse(fileContent.toString()); 
     console.log(fileContent); 
     console.log(data); 
    } 
}) 
+0

あなたのinput.jsonを見て、鉱山をチェックして比較してください –

0

では、JSONが有効であることを確認してください。つまり、末尾にカンマはありません。

設定のようなものをロードする場合は、 を単にconst data = require('./json-file.json')としてください。

ノードでは、単純にjsonファイルをネイティブに要求することができます。しかしこれは同期的です。起動時に設定を読み込むようなものだけを使用してください。

関連する問題