Добавить новые данные в строку PHP JSON - PullRequest
9 голосов
/ 17 ноября 2009

У меня есть $ data как данные в кодировке JSON, и у меня есть эта строка:

$new_data = "color:'red'";

, который нужно добавить к $ data, чтобы я мог прочитать его как строку json.

Как мне этого добиться?

Ответы [ 3 ]

31 голосов
/ 03 декабря 2010

Я просто искал решение для этого и наткнулся на этот вопрос (уже один год). Ответы, предоставленные до сих пор, были не очень полезны для меня. Так что, надеюсь, это поможет следующему человеку.

Ответ, который я искал, был

$json = json_decode($data,true);

, который возвращает результат в виде структуры массива, а не объекта. Затем довольно просто добавить новые значения:

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

После этого данные, конечно, могут быть возвращены в строку с json_encode().

16 голосов
/ 17 ноября 2009

сначала нужно json_decode($data), затем добавить новый ключ / значение и json_encode().

2 голосов
/ 17 ноября 2009
$dataToAugment = json_decode($data);

// add you data here at the proper position

$data = json_encode($dataToAugment);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...