【问题标题】:How to convert buffer to JSON?如何将缓冲区转换为 JSON?
【发布时间】:2022-11-04 01:21:13
【问题描述】:

我从 Twitter API 流中得到这个原始输出

<Buffer 7b 22 64 61 74 61 22 3a 7b 22 65 64 69 74 5f 68 69 73 74 6f 72 79 5f 74 77 65 65 74 5f 69 64 73 22 3a 5b 22 31 35 38 38 32 31 37 34 39 32 37 34 30 30 ... 349 more bytes>

我正在尝试像这样将其转换为 JSON

const obj = JSON.parse(data);
console.log(obj)

但我收到了这个错误

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Request.<anonymous> (/home/scooprank/Github/scooprank/tweet_listener/server.js:63:26)
    at Request.emit (node:events:513:28)
    at IncomingMessage.<anonymous> (/home/scooprank/Github/scooprank/node_modules/request/request.js:1073:12)
    at IncomingMessage.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:289:9)
    at IncomingMessage.Readable.push (node:internal/streams/readable:228:10)
    at HTTPParser.parserOnBody (node:_http_common:140:24)
    at TLSSocket.socketOnData (node:_http_client:521:22)

我该如何解决这个问题?

【问题讨论】:

标签: javascript node.js json twitter-api-v2


【解决方案1】:

缓冲区不是 JSON 字符串,而是原始二进制数据的集合。

您需要的是缓冲区包含的文本。您可以使用 Node 的 Buffer#toString 将缓冲区转换为文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 2022-08-05
    • 2020-04-26
    • 2016-03-09
    • 2018-06-03
    相关资源
    最近更新 更多