JSON.stringify()工作不正常-第二个参数消失
JSON.stringify() not working correctly - Second parameter disappears
我有以下对象:
var message = {
default: 'Default',
GCM: {
data: {
title: titleMessage,
text: textMessage
}
}
};
当我意识到:
message.GCM = JSON.stringify(message.GCM);
变量消息。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
这可以正常工作:
var titleMessage = 'This is my title';
var textMessage = 'This is my message';
var message = {
default: 'Default',
GCM: {
data: {
title: titleMessage,
text: textMessage
}
}
};
message.GCM = JSON.stringify(message.GCM);
但请注意:
- 如果CCD_ 3,则它不会出现在字符串结果中
- 如果
textMessage
不存在,它将抛出一个错误
使JSON如下:
var message = {
default: 'Default',
GCM: {
data: {
title: 'titleMessage',
text: 'textMessage'
}
}
};
或者定义两个变量titleMessage和textMessage
相关文章:
- 当第二个参数为空时管理JavaScript调用的构造
- 筛选器's的第二个参数不起作用
- jQuery Datepicker BeforeShowDay 第二个参数
- 添加第二个参数时,Javascript函数将停止工作
- JavaScript 部分应用函数 - 如何仅绑定第二个参数
- 何时适合将集合传递给主干模型构造函数第二个参数
- 下划线.js : _.where() 使用第一个参数,但不适用于第二个参数
- 如何在setInterval函数中生成第二个参数(持续时间)的随机持续时间值
- 如何将jquery对象转移到“On”方法(第二个参数)
- 是否可以将值数组作为第二个参数传递给 _.without() 函数
- JSON.stringify()工作不正常-第二个参数消失
- 结合Supercrollorama,TweenMax.to中第二个参数的含义是什么
- 简单`replace()`的第二个参数存在问题
- retrieve()中的第二个参数;始终在运行
- Javascript中reduce回调中的第二个参数
- 可以't在addEventListener方法的第二个参数中添加括号
- 骨干路由器多参数;第二个参数未定义
- JavaScript中JSON.stringify中的第二个参数
- 如果第二个参数再次是替换方法,则JavaScript替换不起作用
- 如何在Mootools fireEvent函数的第二个参数中访问对象实例