以下のようなJSONのファイルがあり、追加データだけが飛んでくるので、
それを最後尾に追加してファイル保存したいのですが
どう記述すればいいでしょうか?
以下のようにしてると配列に追加する所で警告が出て
「非オブジェクトのプロパティーを変更しようとした」と言われ
結果としてarray_pushメソッドの引数がnullだと警告されます
なのでファイルには追加したいデータは追加されておらず困っています
以下の$rcvは今、型としては何になってるのでしょう?String?
これををオブジェクト化したら意図したとおり
データをファイルに追加できるでしょうか?
もしそうであればそれはどのようにするのでしょうか?
test.json
JSON
1{items[ 2{"id":1,"name":"test1"}, 3{"id":2,"name":"test2"} 4]}
JSONsave.php
PHP
1$rcv = file_get_contents("php://input"); 2// echo $rcv; // {"id":3,"name":"test3"} 3$json = file_get_contents('test.json'); 4$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); 5$json = json_decode($json, true); // 6array_push($json->items, $rcv); 7$out_json = json_encode($json); 8// print_r($out_json); 9$result = file_put_contents("test.json", $out_json, LOCK_EX);
error
1Warning: Attempt to modify property of non-object in /JSONsave.php on line 11 2Warning: array_push() expects parameter 1 to be array, null given in /JSONsave.php on line 11
回答1件
あなたの回答
tips
プレビュー