Декодировать результаты поиска G2A (json) в массив

Помогите мне взять название игры с URL

Эта страница выводится в формате json.
Я пытаюсь преобразовать его в массив, но мой код не работает. Пожалуйста, помогите мне!

$url = 'https://search.g2a.com/items/select?json.wrf=jQuery111003403934023808688_1411464896728&q=NOT+type%3Aindividual+AND+(-type%3Agaming+AND+wholesaleQty%3A%5B1+TO+*%5D+AND+wholesaleMinPrice%3A%5B0+TO+198%5D)&wt=json&start=0&rows=10000&sort=sortOrder+DESC&_=1411464896757';
$content = file_get_contents($url);
$json = json_decode($content, true);

echo "<pre>";
print_r($json);
echo "</pre>";

1

Решение

Вы должны удалить параметр JSONP json.wrf сначала с URL:

https://search.g2a.com/items/select?q=NOT+type%3Aindividual+AND+(-type%3Agaming+AND+wholesaleQty%3A%5B1+TO+*%5D+AND+wholesaleMinPrice%3A%5B0+TO+198%5D)&wt=json&start=0&rows=10000&sort=sortOrder+DESC&_=1411464896757

Это вернет правильный результат JSON.

4

Другие решения

Вывод с этого URL (который я получаю в настоящее время начинается):

jQuery111003403934023808688_1411464896728({"responseHeader" ...

Это не чистый ответ JSON, а скорее JSONP ответ.

Если вы просто пытаетесь разобрать его в PHP, возможно, что-то вроде:

$url = ...;  // Your URL Here
$data = file_get_contents($url);
$pos  = strpos($data, '{');
$data = substr($data, $pos, strlen($data) - $pos - 2);
$json = json_decode($data, true);

echo "<pre>";
print_r($json);
echo "</pre>";
1

По вопросам рекламы [email protected]