php json_解码删除具有空值的属性
我有一个Json字符串,我正在使用php的Json_decode对其进行解码 弦php json_解码删除具有空值的属性,php,json,Php,Json,我有一个Json字符串,我正在使用php的Json_decode对其进行解码 弦 "address": { "address": null, "postalCode": null, "phoneNumber": "", "city": null } 当我解码字符串时,我得到 ["address"]
"address": {
"address": null,
"postalCode": null,
"phoneNumber": "",
"city": null
}
当我解码字符串时,我得到
["address"]=>
array(1) {
["phoneNumber"]=>
string(0) ""
它本质上是以null作为值剥离属性,即地址、城市。我能阻止这种事情发生吗
完全JSON
属性没有被剥离,您可能正在自己剥离它,执行如下所述的操作: 请参见您的代码示例:
$test = '{"address": {
"address": null,
"postalCode": null,
"phoneNumber": "",
"city": null
}}';
$test_decoded = json_decode($test,true);
print_r($test_decoded);
//outputs as expected:
//Array ( [address] => Array ( [address] => [postalCode] => [phoneNumber] => [city] => ) )
无论如何,理论上,
null
与最初没有定义相同。这就是为什么未定义的变量在被访问时被视为null。提供完整的JSON。添加完整的JSON@Dharam@h2ooooooo你说得对,有别的东西在吞噬我的空值。
$test = '{"address": {
"address": null,
"postalCode": null,
"phoneNumber": "",
"city": null
}}';
$test_decoded = json_decode($test,true);
print_r($test_decoded);
//outputs as expected:
//Array ( [address] => Array ( [address] => [postalCode] => [phoneNumber] => [city] => ) )