#php #json
Вопрос:
Как использовать json_decode, когда json содержит html-объекты? Он всегда возвращает значение null.
Вот пример кода:
$json = '{
"text": "amp;<ulamp;>
amp;<liamp;>amp;<strongamp;>amp;apos;amp;quot;Example Textamp;quot;amp;apos;amp;</strongamp;>amp;</liamp;>"
}';
$data = json_decode($json, true);
var_dump($data);
Комментарии:
1. Избавьтесь от новых строк в части JSON
Ответ №1:
По какой-то причине у вас есть новые строки в JSON, удалите их, чтобы сделать допустимый JSON, и он будет декодирован.
$json = '{
"text": "amp;<ulamp;>
amp;<liamp;>amp;<strongamp;>amp;apos;amp;quot;Example Textamp;quot;amp;apos;amp;</strongamp;>amp;</liamp;>"
}';
//$data = json_decode($json, true);
$data = json_decode( str_replace("n", '', $json), true );
var_dump($data);
Результат
array(1) {
'text' =>
string(96) "amp;<ulamp;>amp;<liamp;>amp;<strongamp;>amp;apos;amp;quot;Example Textamp;quot;amp;apos;amp;</strongamp;>amp;</liamp;>"
}