オブジェクトからデータを抽出するのに問題はありません。私の問題は、文字列内のデータを編集して再エンコードすることです。オブジェクトを編集しようとするたびに、オブジェクト内のすべてのデータが削除され、編集したものだけが保存されます。
私はこれがうまくいったと思っていたでしょうが、そうではありません。助言がありますか? (以下はオブジェクトモードで示しています。連想配列としても試してみましたが、同じ結果が得られました)
$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"}}