我使用json_encode将数组转换为json。但是,如果某个键的值为空,json会给出大括号{}。我希望该值应为空或“”为空。请帮助。下面是代码:
<?php
$postData='<Lead>
<General>
<dealer></dealer></General> </Lead>';
$array_data = json_encode(simplexml_load_string($postData));
$array_data=json_decode($array_data) ;
$dealer=$array_data->General->dealer;
$data=array('dealer'=>$dealer);
echo $objectJson =json_encode($data);
?>
response is : {"dealer":{}}
最佳答案
这是因为$dealer
是一个空数组,在json中与{}
相同。
三元使用
'dealer'=>((!$dealer) ? $dealer : null)
这意味着,如果
$dealer
为空,则指定一个空值,这将更改空数组,或者将json中的{}
改为null
$data=array('dealer'=>((!$dealer) ? $dealer : null));
也
echo $objectJson =json_encode($data);
如果您只是显示它,而在下面的代码中不再使用它,请避免声明它,而只显示它
echo json_encode($data);