2012-07-10 1 views
1

Надеюсь, для вас это будет довольно просто.Сортировка необработанных данных из ссылки API в PHP, которая находится в формате JSON

В любом случае, у меня были проблемы с fread(), поэтому я решил использовать ссылку api, которую я смог найти.

Сценарий - это просто преобразовать извлеченные данные игрового сервера в читаемый формат.

Ссылка на «Сериализированные» данные: http://api.typefish.co.uk/monitor/sa-mp/80.86.81.14:6969/?info&masterlist&rules&players

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

До сих пор это то, что у меня есть, хотя я, вероятно, мили:

$content = file_get_contents("http://api.typefish.co.uk/monitor/sa-mp/80.86.81.14:6969/?info&masterlist&rules&players"); 
trim($content, "{"); 
trim($content, "}"); 
foreach(exlpode(",", $content) as $pieces){ 
    explode(":", $pieces); 
} 

А теперь я застрял. Может ли кто-нибудь сказать мне способ, который лучше, или помочь мне закончить сценарий с некоторыми идеями?

Благодаря

Это код, у меня сейчас после 2 ответов:

$newarray = json_decode($content); 
    var_dump($newarray); 
    echo "<br><br>"; 
    echo $newarray->{"mapname"}; 

Проблема заключается в том, что я не в состоянии отобразить переменную в этом формате, как я могу восстановить, что так я могу просмотрите переменные.

Я изменил это:

echo $newarray->{"mapname"}; 

к этому:

echo $newarray->data->rules->mapname; 
+0

поэтому я добавил код предлагается в 2-х ответов, но до сих пор не имеют способ доступа к данным, чтобы иметь возможность отформатировать его, я добавляю формат попытку я сделал – Adsy2010

ответ

3

Эти данные в формате JSON. Все, что нужно использовать, чтобы преобразовать его в PHP массив является json_decode($content)

Ссылка: http://us3.php.net/json_decode И прочитать больше о JSON здесь: http://www.json.org/

+0

благодаря 2 ответам уже! Я буду исследовать ответы BOTH и выбрать ответ, который ближе всего к тому, что я в конечном итоге использую (если он работает, и я уверен, что это будет) – Adsy2010

+0

Я создал код, как было предложено, но также не смог просмотреть содержимое переменных массивов по отдельности. вы можете добавить способ просмотра? Я безуспешно пробовал 3 пути. – Adsy2010

+0

Как вы пытаетесь получить к ним доступ? С какими индексами вы пытаетесь получить доступ? – Austin

0

Вы ар делать это неправильно, это не PHP сериализованную строку, ее JSon вывод, который вы может использовать json_decode, чтобы получить строку в массив PHP.

Как:

var_dump(json_decode($content, true));