更优雅的方式将utf8的Nodejs缓冲区转换为json?

时间:2015-07-07 15:31:10

标签: json node.js utf-8 buffer

有没有更优雅的方法将nodejs中的Buffer转换为json而不是这个?

JSON.parse(payload.OriginalEvent.Metadata.toString('utf8'))

如果我这样做

payload.OriginalEvent.Metadata.toJSON()

我得到一个utf8编码的字符串。

我觉得我可能正在做一些已经包含在缓冲区方法中的额外工作。

--- EDIT 太棒了,我在尝试为你获取这些数据时修复了一个(无关的)bug。

console.log(payload.OriginalEvent.Metadata);
console.log(payload.OriginalEvent.Metadata.toJSON());
console.log(payload.OriginalEvent.Metadata.toString('utf8'));


<Buffer 7b 22 65 76 65 6e 74 54 79 70 65 4e 61 6d 65 22 3a 22 74 65 73 74 69 6e 67 45 76 65 6e 74 22 7d>

{ type: 'Buffer',
  data: [ 123, 34, 101, 118, 101, 110, 116, 84, 121, 112, 101, 78, 97, 109, 101, 34, 58,34, 116, 101,115, 116,105, 110, 103, 69, 118, 101, 110, 116, 34,125 ] }

{"eventTypeName":"testingEvent"}

然而,对于最后一个例子,它现在是一个字符串,所以我必须json.parse它才能访问该属性

我希望这会有所帮助

由于

0 个答案:

没有答案