No. JSON does not support a value of undefined
. The closest relatives would be null
or false
. According to the specification, valid JSON values are: string, number, object, array, true
, false
, and null
.
Moreover, how would you check for its existence in an object?1
var a = {"key1":undefined,"key2":"value2"};
var b = {"key2":"value2"};
if(typeof(a.key1) == typeof(b.key1)){
alert('absent in both!');
}
See my fiddle.
If you want a property to be undefined, remove it, for example in PHP use unset
before json_encode
:
$a = array('key1' => null, 'key2' => 'value2');
unset($a['key1']);
json_encode($a); // {"key2":"value2"}
1 You can use a for...in loop.