web-dev-qa-db-ja.com

PHP JSON文字列に新しいデータを追加します

JSONでエンコードされたデータとして$ dataがあり、次の文字列があります。

$new_data = "color:'red'";

これを$ dataに追加して、json文字列として読み取ることができるようにする必要があります。

どうすればこれを達成できますか?

9
Manny Calavera

最初にjson_decode($data)してから、新しいキー/値を追加し、それをjson_encode()する必要があります。

16
cloudhead

私はちょうどこれに対する解決策を探していて、この質問に出くわしました(すでに1歳)。これまでに提供された回答は、私にはあまり役に立ちませんでした。だから、うまくいけば、これは次の人を助けるでしょう。

私が探していた答えは

_$json = json_decode($data,true);
_

これは、オブジェクトではなく配列構造で結果を返します。次に、新しい値を追加するのは非常に簡単です。

_$json['foo'] = 'bar';
_

この後、データはもちろんjson_encode()を使用して文字列に返すことができます。

31
Ben
$dataToAugment = json_decode($data);

// add you data here at the proper position

$data = json_encode($dataToAugment);
2
Eineki