json stringify javascript对象结果不匹配

时间:2016-07-23 04:11:53

标签: javascript json

我想将此对象存储到数据库,因此首先需要将其发布到后端。

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":{}} 作为嵌套对象?

2 个答案:

答案 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