2015-09-15 2 views
-4

Я довольно разочарован этим и могу использовать некоторые сообразительные умы. Создаем относительно простой API. Использование PHP создало stdClass() и json_encode. На главном сервере данные echos отлично. На стороне клиента я получаю постоянную неверную ошибку аргумента foreach.JSON - PHP foreach persistant error

$thefez= new stdClass(); 
$thefez->muid=$id; 
$thefez->bandname=$bandname; 
$thefez->core=new stdClass(); 
    $thefez->core->joined=$since; 
    $thefez->core->bandbio=$bio; 
    $thefez->core->genre=$genre; 
    $thefez->core->subgenre=$subgenre; 

echo json_encode($thefez); 

Результат (Host)

{"muid":"IM5LGM02MFS8RJLKGY9W","bandname":"Marbles For Zen","core": 
{"joined":"Sun 01 March 2015","bandbio":"Zen And Marbles","genre":"Rhythm Blues", 
"subgenre":"Dixie Rhythm"}} 

{"muid":"IMA3YNBKZQDNR9RBCSRI","bandname":"Frankie Storm","core": 
{"joined":"Sat 21 February 2015","bandbio":"Just registered. Bio coming soon.","genre":"Popular","subgenre":""}} 

ВОПРОС: Использование json_decode и Еогеасп просто хотите повторить элементы в массиве.

json_decode(file_get_contents('http://api.mutrs.me/?artists'), TRUE); 

foreach($result as $item){ 
$item->muid; 
} 

Ведущий:

Проверено json_last_error он возвращает 0
Проверено json_last_error_msg не возвращает никакой ошибки

Клиент:

Проверено json_last_error возвращает
Checked json_last_error_msg возвращает Ошибка синтаксиса

ответ

0

jsondecode преобразует в массив не стандартный объект класса

попробовать этот первый $result = json_decode($object , true);

то для вашего пункта $varname = $item['muid'];

Test это по сравнению с Вами Код:

<?php 
$data = '{"muid":"IM5LGM02MFS8RJLKGY9W","bandname":"Marbles For Zen","core":{"joined":"Sun 01 March 2015","bandbio":"Zen And Marbles","genre":"Rhythm Blues","subgenre":"Dixie Rhythm"}}'; 
var_dump(json_decode($data , true)); 
?> 
+1

'json_decode' возвращает объект. Если в качестве второго параметра не передано 'true'. –

+0

ну, он может передать 'true' в качестве параметра, чтобы получить данные json. –

+0

Я прошел ИСТИННЫЙ. и использовал $ item ["muid"]. Все еще ошибка. Когда я свалил, я получаю NULL. Я просто не понимаю, почему на стороне клиента это ошибочно, но не на стороне хоста. – charless