首页 > 解决方案 > 将服务器主体中的 json 文件转换为节点中的 json 对象

问题描述

这应该很简单,但我已经坚持了一个多小时,这让我发疯。

我正在使用一个将数据作为压缩.json文件返回的 API。我已经设法解压缩文件,但现在需要将这些文件解析为 json 对象。

数据在缓冲区中,如下所示:

{ "name": "foo1", "job": "bar1" }
{ "name": "foo2", "job": "bar2" }
{ "name": "foo3", "job": "bar3" }
{ "name": "foo4", "job": "bar4" }

当然,解析这个JSON.parse()会失败,因为数据是一个.json文件,而不是一个 json 数组。

如何正确解析这些数据?fs期望文件路径来读取文件,这在我的情况下不起作用(据我所知),因为数据来自缓冲区,而不是来自本地文件。

tl; dr:我如何解析没有.json文件路径的文件?

标签: node.jsjsonparsing

解决方案


您可以将缓冲区数据更改为utf-8字符集字符串,然后对其进行解析:

JSON.parse(buffer.toString('utf-8'))

推荐阅读