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

时间:2014-09-02 14:16:58

标签: php json

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

$data_string = json_encode($data);

输出此信息。

{"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中添加字段消息。

2 个答案:

答案 0 :(得分:3)

您无法将数据添加到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);

答案 1 :(得分:0)

你可以这样做:

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

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