[英]Is it possible to json_encode the value undefined in php?
我正在尝试对变量进行json编码,使其具有undefined
的值,例如javascript关键字undefined
。 我试图用谷歌搜索,但是显示的唯一结果是人们在他们的php脚本中发现错误,即实际函数json_encode
未定义。 有没有办法做未定义? 为了对值NULL
进行编码,它只是没有引号的null
。 在php中使用"undefined"
将其视为字符串,并且由于php认为这是一个常量,因此undefined
当然不起作用。
我在javascript中尝试过:
JSON.stringify([undefined,null]);
但它回来了
[null,null]
因此,甚至可以对undefined
的值进行编码吗?
我问的原因是我正在使用morris.js图表库,当折线图缺少数据点时,它处理null
值的方式与undefined
值的方式不同,并且我希望将它们作为undefined
来处理。 我意识到我可以遍历我的JSON
对象并将所有null
转换为undefined
,但是我想知道是否有可能对undefined
进行编码。
通常,在几种情况下,对undefined
处理可能与对null
处理不同,因此这将适用于所有情况。
谢谢!
否。JSON不支持undefined
值。 最近的亲戚将为null
或false
。 根据规范 ,有效的JSON值为:字符串,数字,对象,数组, true
, false
和null
。
此外,您将如何检查其在对象中的存在? 1
var a = {"key1":undefined,"key2":"value2"};
var b = {"key2":"value2"};
if(typeof(a.key1) == typeof(b.key1)){
alert('absent in both!');
}
看看我的小提琴 。
如果要取消定义属性,请将其删除,例如在PHP中,在json_encode
之前使用unset
:
$a = array('key1' => null, 'key2' => 'value2');
unset($a['key1']);
json_encode($a); // {"key2":"value2"}
1您可以使用for ... in循环。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.