我從我的對象中提取數據沒有問題。我的問題是編輯字符串中的數據並重新編碼它。每次我嘗試編輯對象時,它都會刪除對象中的所有數據,並且只保存我編輯的內容。如何編輯使用json_decode()創建的PHP對象?
我會假設這工作,但它沒有。有什麼建議麼? (下面顯示的對象模式,我曾嘗試它作爲一個關聯數組也得到相同的結果)
$jsonString = '[{ "stuff" : [{"name" : "name", "description" : "description", "id" : "id",}], "morestuff" : []}]';
$name = 'new name';
$description = 'new description';
$obj_json = json_decode($jsonString);
$obj_json->stuff->name = $name;
$obj_json->stuff->description = $description;
$newJsonString = json_encode($obj_json);
這是打印的內容後:
{ "stuff" : {"name" : "new name", "description" : "new description"}}
請出示的'$ jsonString'內容了。 – BenM 2013-03-26 15:45:18
嘗試打印'$ jsonString'和'$ newJsonString' :) – 2013-03-26 16:10:09
那麼,「stuff」實際上是否存在?如果沒有PHP會提出一個警告,試圖從一個空值創建一個默認對象 – Crisp 2013-03-26 16:10:10