1

我有一个要在 Node.js 脚本中使用的 JSON 文件。我想传递 json,然后传递脚本来解析它。我尝试使用fs.readFileSync(filename),但这会返回一个缓冲区。如何将其转换回 JSON 以便我可以解析它?

4

1 回答 1

4

如果您从缓冲区中读取它,则可以使用JSON.parse().

> var fs = require('fs');
undefined
> a=fs.readFileSync('a.json');
<Buffer 7b 0d 0a 20 20 20 20 22 67 6c 6f 73 73 61 72 79 22 ...>
> JSON.parse(a);
{ glossary:
   { title: 'example glossary',
     GlossDiv: { title: 'S', GlossList: [Object] } } }

文件必须是有效的 JSON。

您也可以require直接加载 JSON。

> var a=require('a.json');
undefined
> a
{ glossary:
   { title: 'example glossary',
     GlossDiv: { title: 'S', GlossList: [Object] } } }

默认情况下,需要检查node_modules当前目录内的文件夹内部,而不是当前文件夹。所以你应该给出路径。

于 2013-05-21T15:19:02.937 回答