我有一个JSON对象,我正在将它转换为Buffer,并在这里进行一些处理.稍后,我想将相同的缓冲区数据转换为有效的JSON对象.

我正在开发 node V6.9.1

下面是我try 过的代码,但是当我转换回JSON并且无法打开这个对象时,我得到了[object object].

var obj = {
   key:'value',
   key:'value',
   key:'value',
   key:'value',
   key:'value'
}

var buf = new Buffer.from(obj.toString());

console.log('Real Buffer ' + buf);  //This prints --> Real Buffer <Buffer 5b 6f 62 6a 65 63 74>

var temp = buf.toString();

console.log('Buffer to String ' + buf);  //This prints --> Buffer to String [object Object]

所以我试着用inspect方法打印整个物体

console.log('Full temp ' + require('util').inspect(buf, { depth: null }));  //This prints --> '[object object]' [not printing the obj like declared above]

如果我试着像数组一样读取它

 console.log(buf[0]);  // This prints --> [ 

我也试过把它扔SyntaxError: Unexpected token o in JSON at position 2

我需要将它视为我创建的真实对象(我的意思是像上面声明的那样).

请帮忙..

推荐答案

你需要对json进行字符串化,而不是调用toString

var buf = Buffer.from(JSON.stringify(obj));

以及将字符串转换为json obj:

var temp = JSON.parse(buf.toString());

Node.js相关问答推荐

Sveltekit停靠的应用程序找不到从Build导入的包

根据我的测试,为什么在编写Varint代码方面,NodeJS要比Rust快这么多?

使用NodeJS的DynamoDB中的BatchGetItem出现MultipleValidationError

在编译时强制不缩小类型范围

下一个API路由如何处理多个并发请求?

npm错误;无法解析依赖项:npm ERR!对等webpack@;5.x.x;来自@webpack-cli/serve@2.0.5";

如何修复node.js中的错误代码无法加载资源:服务器响应状态为403(禁止)

如何在MongoDB中删除嵌套对象数组中的属性?

安装样式组件时出现react 错误

Nodejs 从链接数组中获取数据并保存到 mongodb

如何在mongodb中获取对象数组内部的数据

React Native:执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade 时发生故障

将环境变量从 GitHub 操作传递到 json

Mongodb聚合传递一个匹配的数组和一个不匹配的数组

Firestore promise 在退货前等待产品详细信息

nodeJS - 如何使用 express 创建和读取会话

使用 Node.js 我得到错误:EISDIR,读取

NPM:为什么要安装这个包?

node.js 服务器和 HTTP/2 (2.0) 与 express.js

yarn 和 npm 的主要区别是什么?