Javascript from Buffer to JSON

Javascript from Buffer to JSON

本文关键字:JSON to Buffer from Javascript      更新时间:2023-09-26

我使用bleno(一个node js BLE包),它使用Buffer来发送和接收数据。如何获取Buffer对象并将其转换为JSON?这是我现在的文件:

bufferToJson = buffer.toString();
bufferToJson = JSON.stringify(bufferToJson)
bufferToJson = JSON.parse(bufferToJson)

缓冲区是数据所在。缓冲可以是{cmd:'echo'}的一个例子,我尝试过bufferToJson.cmd,只得到未定义。谢谢。

如果您的缓冲区对象包含JSON的有效表示,那么转换它的最简单方法如下:

const json = JSON.parse(buffer);

以下内容可以:

var bufferToJson = JSON.parse(myBuffer.toString());

您可以使用TextDecoder如下片段:

const buffer = await characteristic.readValue();
const decoder = new TextDecoder('utf8');
const text = decoder.decode(buffer);
console.log(JSON.parse(text));

对于nodejs应用程序,我发现字符串解码器工作得很好。

https://nodejs.org/api/string_decoder.html

// API for decoding Buffer objects into strings
const { StringDecoder } = require('string_decoder');
const decoder = new StringDecoder('utf8');
let body = Buffer.from(response.body);
let json = decoder.write(body);
let foo  = JSON.parse(json);