在执行 JSON.stringify(hash)
时如何保留 undefined
值?
这是一个例子:
var hash = {
"name" : "boda",
"email" : undefined,
"country" : "africa"
};
var string = JSON.stringify(hash);
// > '{"name":"boda","country":"africa"}'
电子邮件从 JSON.stringify
中消失了。
最佳答案
JSON 规范不允许 undefined
值,但允许 null
值。
您可以将替换函数传递给 JSON.stringify
以自动将 undefined
值转换为 null
值,如下所示:
var string = JSON.stringify(
obj,
function(k, v) { return v === undefined ? null : v; }
);
这也适用于数组中未定义的值,因为 JSON.stringify
已经将它们转换为 null
。
关于javascript - 保留未定义的 JSON.stringify 否则将删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26540706/