【问题标题】:How to convert node.js Buffer to JavaScript object without an intermediate string如何在没有中间字符串的情况下将 node.js 缓冲区转换为 JavaScript 对象
【发布时间】:2018-04-30 20:17:54
【问题描述】:

我有一个包含 utf-8 JSON 的 Buffer 实例。

通常你是这样转换的:

const buffer = Buffer.from('{"a":1}')
const str = buffer.toString("utf-8")
const obj = JSON.parse(str)

为了使 Buffer->Object 转换更高效,我如何在没有中间字符串的情况下转换它?

【问题讨论】:

  • 有兴趣。 hackernoon.com/….
  • @AjAX。您链接的代码创建了一个中间字符串。我正在寻找一种方法来避免任何中间字符串(或任何其他中间数据)。

标签: json node.js buffer


【解决方案1】:

JSON.parse 可以接受 Buffer 实例。

const buffer = Buffer.from('{"a":1}')
const obj = JSON.parse(buffer)

【讨论】:

  • 链接里是这么说的。
  • @AjAX。没有。链接没有这么说。
  • 是的。此外,所有代码示例都创建中间字符串变量。我的问题表明这正是我想要避免的。
  • JSON.parse 不接受缓冲区:Type 'Buffer' is not assignable to parameter of type 'string'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-29
  • 2018-06-03
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 2013-06-14
  • 2019-07-30
相关资源
最近更新 更多