Парсинг JSON, невалидный формат ответа

12
siv1987
На сайте с 02.04.2009
Offline
427
#11

В utf-8 и приходит.

Sanu0074
На сайте с 31.08.2012
Offline
110
#12

siv1987,

Так а почему без прогона через:

		while(strpos($str, ',,') !== false){

$str = str_replace(',,', ',"",', $str);
}
$str = str_replace(',]', ',""]', $str);
$str = str_replace('[,', '["",', $str);
$str = preg_replace("/\][\r\n]+/", ']', $str);

не работает?

SI
На сайте с 03.12.2007
Offline
130
#13

Там вначале четыре лишних символа идёт, три скобки и кавычка

)]}'


<?php

$url = "https://play.google.com/store/xhr/getdoc";
$content = "ids=com.getcluster.android&xhr=1";
$context = stream_context_create(array(
"http" => array(
"method" => "POST",
"header" => "Content-type: application/x-www-form-urlencoded\r\n"
. "Content-Length: " . strlen($content) . "\r\n",
"content" => $content
)
));

$not_json = file_get_contents($url, NULL, $context);

$json = preg_replace(
['/\[,/', '/,(?=,)/', '/,\]/'],
['[null,', ',null', 'null,]'],
substr($not_json, 4)
);

//echo $not_json;
print_r(json_decode($json, true));

-= Онлайн сервисы =-
siv1987
На сайте с 02.04.2009
Offline
427
#14

Sanu0074, потому что это никакое отношение к "utf-8" не имеет. utf-8 - кодировка текста, "прогон через" - формат JSON строки. На предыдущей странице вроде бы говорили про спецификацию JSON'а. А речь про utf-8 было потому, что приведенный вами файл был в кодировке windows-1251

Sanu0074
На сайте с 31.08.2012
Offline
110
#15
Sigmo#ID:
Там вначале четыре лишних символа идёт, три скобки и кавычка

их обрезал так: preg_match("/\[(.*)\]/sei", $json, $result);

siv1987:
потому что это никакое отношение к "utf-8" не имеет. utf-8 - кодировка текста, "прогон через" - формат JSON строки. На предыдущей странице вроде бы говорили про спецификацию JSON'а. А речь про utf-8 было потому, что приведенный вами файл был в кодировке windows-1251

спасибо) образумили

autocalc
На сайте с 11.05.2011
Offline
52
#16

Оберните ответ в фигурные скобки.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий