2017-07-27 53 views
-1

如何從NodeJS中的文件加載JSON數組?如何從文件NodeJS加載JSON數組?

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

input.json

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

四處錯誤:語法錯誤:意外的令牌]在JSON在位置

+4

刪除最後一個','。這使得JSON無效。 –

+2

請注意,您可以「需要」一個JSON文件。 '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

更新input.json它在結尾處包含一個額外的逗號()閉架(]

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

之前,如果你正在閱讀JSON文件中的Node.js和要顯示JSON數據然後將UTF8讀取文件

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文件。但是這是同步的。所以只能用它來啓動時加載配置。