我想将此对象存储到数据库,因此首先需要将其发布到后端。
gradle publishUtilMavenPublicationToMavenLocalRepository
但在Recorder {config: Object, recording: false, callbacks: Object, context: AudioContext, node: ScriptProcessorNode…}
之后
结果看起来像这样
JSON.stringify(recorder)
为什么上下文部分错过了?
我发现因为context是一个嵌套对象,所以如何使用{"config":{"bufferLen":4096,"numChannels":2,"mimeType":"audio/wav"},"recording":false,"callbacks":{"getBuffer":[],"exportWAV":[]},"context":{},"node":{},"worker":{}}
作为嵌套对象?
答案 0 :(得分:0)
JSON.stringify()
仅与javascript对象兼容Object()
。不是我在代码context: AudioContext, node: ScriptProcessorNode
中看到的特殊对象。如果你使用 JSON.stringify与该对象,然后它只存储属性和值, 不是该对象的行为
对于特殊类别的对象,您可以使用github
中提供的 serialijse 插件对于您的解决方案,请在下载后使用此插件
将其转换为字符串,以便在后端的数据库中存储
var serialize = serialijse.serialize;
var serializationString = serialize({config: Object, recording: false, callbacks: Object, context: AudioContext, node: ScriptProcessorNode…});
从数据库中检索后将其转换为原始对象:
var deserialize = serialijse.deserialize;
var deserializationString = deserialize(serializationString );
我希望对你有所帮助。
答案 1 :(得分:-3)
使用JSON.parse()将其转换为要传递给数据库的字符串(使用JSON.stringify())并检查并在解析时查看上下文部分。
HTH