我从我的对象中提取数据没有问题。我的问题是编辑字符串中的数据并重新编码它。每次我尝试编辑对象时,它都会删除对象中的所有数据,并且只保存我编辑的内容。如何编辑使用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