Так,
Я работаю над API, который, кажется, работает довольно хорошо на сервере. Я сформировал последовательность массивов в PHP и закончил с помощью json_encode ($ stuff), json_pretty_print.
echo '<pre>'.json_encode(thefez), json_pretty_print).'</pre>';
На сервере это отлично. Если я введу в URL прямо из любого браузера, можно увидеть данные.
Я добавил var_dump для проверки.
Клиентская сторона с json_decode: возвращает НОЛЬ:
$thanks=json_decode(file_get_contents('http://api.mutrs.me/?imos&volume=1'));
var_dump($thanks);
Клиентская сторона без json_decode: возвращает ДАННЫЕ:
$thanks=(file_get_contents('http://api.mutrs.me/?imos&volume=1');
var_dump($thanks);
{
"muid": "IM5LGM02MFS8RJLKGY9W",
"bandname": "Marbles For Zen",
"core": {
"joined": "Sun 01 March 2015",
"bandbio": "Zen And Marbles",
"genre": "Rhythm Blues",
"subgenre": "Dixie Rhythm"},
Однако, используя либо, при попытке извлечь данные, используя для каждого, вне сервера, я получаю ошибку неверного аргумента.
ОБНОВИТЬ
Итак, после вытягивания до теги, кажется, что декодирование w / foreach () работает.
Ошибка, кажется, когда чтение достигает первого набора [], где он выводит Array, Array, Array. Почему это произойдет?
'muid'=>$id,
'title'=> $title,
'about'=>[
'product'=>$product,
'mediatype'=>$mediatype,
'scrib'=>$scrib,
],
Постановили
Таким образом, проблема, кажется, решена на 99%. На самом деле проблема началась с структурирования массивов php для вывода json, как вы можете видеть отличие от исходного кода и приведенного ниже. Оборачивая весь кластер в массив, он [заключает в скобки], а массивы внутри упорядочиваются соответственно.
Серверный:
$mez[]=array(
$mez["muid"]=$id,
$mez["bandname"]=$bandname,
$mez["core"]=array(
'joined'=>$since,
'bandbio'=>$bio,
'genre'=>$genre,
'subgenre'=> $subgenre
),
);
}
echo json_encode(array($mez));
Сторона клиента:
$connection=json_decode(file_get_contents('http://api.mutrs.me/artists/'));
foreach($connection as $data) {
$id=$data->muid;
$band=$data->bandname;
echo $id.'<br>'.$band.'';
}
Других решений пока нет …