node.js - 将服务器主体中的 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
文件路径的文件?
解决方案
您可以将缓冲区数据更改为utf-8
字符集字符串,然后对其进行解析:
JSON.parse(buffer.toString('utf-8'))
推荐阅读
- react-native - react-native-webview 不呈现 URL
- ubuntu - 如何从终端从谷歌驱动器下载大文件?(gdown 不起作用)
- multidimensional-array - 在 find_peaks 中返回峰高
- python-3.x - 有什么方法可以在不安装 pip 的情况下导入 python 库?
- ruby-on-rails - 在 Rails 上设置 GraphQL @ rails graphql:install -> ERROR: method_missing': undefined method `parent_name' for RailsGraphql::Application:Class
- csv - 为什么我不能将列表作为新行附加到 csv?
- android - [已解决]如何从 URL 加载高分辨率图像而不会在 Kotlin 中崩溃?
- visual-studio-code - 盘点多台计算机上的 VS 代码扩展?
- javascript - 在 forEach 循环中添加的事件侦听器在单击同一页面上的另一个按钮后不会被保留
- javascript - 正则表达式最多 4 位数字和/或最多 4 位小数