Прочитал предыдущие вопросы, но они не помогли.
Имеется JSON
{
"page": "1",
"rows": [{
"id": "9536258-0-0",
"cell": ["ETM9536258", "/ipro/61/small_birka_u134_u3.5.u135_u3.5.u136_u3.5.jpg", "Бирка У136 жесткая треугольная", "0;1177529716|1|207080|0|1|0|0|0|0", "43Б27У136Н", "ПЭМИ", "1000 шт.", "1993", "-", "0", "1.58", "2.50", "1.58", "шт", "", "", "", "1", "1.584", "", "1", 0, 61, "", "RUS", "0", "", ""]
}],
"total": 1,
"records": 1,
"userdata": {
"limit": "no",
"timeX": "1",
"timeY": "9",
"str": ""
}
}
Получается следующим образом:
$options = ...
$context = stream_context_create($options);
$url = ...
$file = file_get_contents($url, false, $context);
// Иначе появляются знаки вопроса в ромбиках
$file = iconv('windows-1251', 'utf-8', $file);
// Донорский json содержит html тэги
$file= strip_tags($file);
$data = json_decode($file, true);
var_dump($data.'<br>');
На выходе получаем пустой массив. Проверял JSON на
валидность, все в норме. Если кодируем потом декодируем, то получаем просто строку.
$data = json_decode(json_encode($file), true);