繁体   English   中英

用php将新字段和数据添加到JSON编码对象中,并删除引号

[英]add new field and data with php to json encoded object with quotes removed

我将php数组转换为json,然后尝试添加另一个字段和带有引号的数据。 这是生成的json对象

$data_string = json_encode($data);

它输出this。

{"dateDebut":"36000000","dateFin":"45000000","periodeDebut":"1410818400","periodeFin":"1411596000","jours":"Thursday","role":{"idRole":"1"},"zone":{"idzone":"Z1E2"},"tag":{"id":"511651969251"},"typeNotification":{"typeNotif":"Alerte"}}

我试过了

$data_string['message']=1;

并以开头的“ 1”输出错误的对象

1"dateDebut":"36000000","dateFin":"45000000","periodeDebut":"1410818400","periodeFin":"1411596000","jours":"Thursday","role":{"idRole":"1"},"zone":{"idzone":"Z1E2"},"tag":{"id":"511651969251"},"typeNotification":{"typeNotif":"Alerte"}}

甚至用这样的引号添加字段

$data_string['message']="1";

根本不将字段消息添加到生成的对象json中。

您不能将数据添加到json字符串,因为它是字符串。

对json编码之前添加数据:

$data['message']=1;
$data_string = json_encode($data);

或者,如果原始php对象$data超出了此范围,则必须解码为php对象,添加数据,然后编码回json:

$data = json_decode($data_string);
$data['message']=1;
$data_string = json_encode($data);

你可以这样做:

$data_array = json_decode($data_string);
$data_array['message'] = 1;
$data_string = json_encode($data_array);

字符串$data_string应包含值为1的新成员message

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM