我有以下对象:
var message = { default: 'Default', GCM: { data: { title: titleMessage, text: textMessage } } };
当我意识到:
message.GCM = JSON.stringify(message.GCM);
变量message.GCM获取以下值:
{"data":{"title":"titleMessageValue"}}
代替:
{"data":{"title":"titleMessageValue", "text":"textMessageValue"}}
为什么它会忽略我的数据对象中的第二个变量?如何在不丢失任何变量的情况下进行字符串化
textMessage
很可能undefined
.
var msg = { title: 'titleMessage', text: 'textMessage' }; JSON.stringify(msg); // Both properties are there msg.text = undefined; JSON.stringify(msg); // `text` is missing
如果未定义,则在转换期间遇到函数或符号,或者省略(当在对象中找到它)或者删除为null(当它在数组中找到时).
资料来源:MDN