vaflya
@vaflya
Ничего личного, это всего лишь хобби.

Как декодировать JSON на php?

Прочитал предыдущие вопросы, но они не помогли.

Имеется 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);
  • Вопрос задан
  • 198 просмотров
Решения вопроса 1
pashted
@pashted
тыжпрограммист
Notice: Array to string conversion in C:\xampp\htdocs\test.php on line 15
Call Stack
#	Time	Memory	Function	Location
1	0.0003	389704	{main}( )	...\test.php:0

а вот так работает:
var_dump($data);
5ca87fb81babd725759112.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы