2014-09-02 39 views
-1

我轉換PHP數組爲JSON,我嘗試添加另一個字段和數據刪除引號。 這是json對象生成的添加新的字段和數據與PHP到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中。

+1

您不能將鍵值對添加到字符串中。您需要將JSON字符串「解碼」爲數組,然後添加鍵值對並將其「編碼」回JSON字符串。 – bzeaman 2014-09-02 14:19:55

+0

您已經使用'$ data_string'作爲Json不再是PHP了,所以如果你想'$ data ['message'] = 1;'之後編碼:'$ data_string = json_encode($ data);' – 2014-09-02 14:21:05

回答

2

你不能將數據添加到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); 
0

你可以這樣做:

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

字符串$data_string應包含值爲1的新成員message;

相關問題