JSON.stringify 一个带有 blob 的对象

问题描述

我有一个内部有音频 blob 的对象。当我在对象上调用 JSON.stringify 时,blob 消失了。如何将对象中的二进制 blob 字符串化?

音频 blob 来自 caching,在本例中为 mime 类型“audio/wav”。

let blob = this/soxElem.getBlob();
let object = {
  audio: blob,name: "hi"
}

console.log(JSON.stringify(object))

控制台显示 {audio:{},name: "hi"}。斑点不见了。

解决方法

一种方法是转换为 JSON 可以处理的数组:

let ab = await this.soxElem.getBlob().arrayBuffer();
let object = {
  audio: Array.from(new Uint8Array(ab)),name: "hi"
}

在接收端(例如使用 Node.js)像这样解码:

let binaryData = Buffer.from(data.audio);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...