Add new data into PHP JSON string

Manny Calavera picture Manny Calavera · Nov 16, 2009 · Viewed 58.4k times · Source

I have $data as JSON encoded data and I have this string:

$new_data = "color:'red'";

that needs to be added to $data so that I can read it from it as a json string.

How can I achieve this ?

Answer

Ben picture Ben · Dec 3, 2010

I was just searching for the solution to this and stumbled across this question (already one year old). The answers provided so far were not very helpful to me. So, hopefully this helps the next person.

The answer I was looking for was

$json = json_decode($data,true);

which returns the result in an array structure, not an object. Then, it is quite simple to add new values:

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

After this, the data can of course be returned into a string with json_encode().