Я пытаюсь получить некоторые письма от Yahoo Query Language, используя OAuth, все в порядке, за исключением того, что YQL возвращает JSON, и я почему-то не могу его проанализировать!
Я могу анализировать простые JSON, например
'{"hello":"world"}'
но не этот:
{
"query": {
"count": 1,
"created": "2012-08-11T19:22:51Z",
"lang": "en-US",
"results": {
"result": {
"messageInfo": [
{
"from": {
"name": "[email protected]"
},
"subject": "Success! You have shared your Yahoo! information"
},
{
"from": {
"name": "[email protected]"
},
"subject": "Success! You have shared your Yahoo! information."
},
{
"from": {
"name": "[email protected]"
},
"subject": "Success! You have shared your Yahoo! information."
},
{
"from": {
"name": "Yahoo!"
},
"subject": "Welcome to Yahoo!"
}
]
}
}
}
}
Я попытался проверить его в http://jsonlint.com/.
и это действительно!
Изменить: мне нужно отобразить «от: имя» и «тема» в таблице, подобной структуре.
Фрагмент кода, который я написал, таков:
$sdata = call_yql(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET,
$access_token, $access_token_secret,
false, true);
$json_data = json_encode($sdata);
$mails = json_decode($json_data);
print_r($mails->query);
Ошибка, которую я получаю:
Notice: Trying to get property of non-object in C:\xampp\htdocs\yahoo\txtweb\yql.php on line 21
json_decode
, и он успешно вернул мне объектstdClass
со всеми правильными данными. - person drew010   schedule 11.08.2012json_decode()
, попробуйте запуститьjson_last_error()
, чтобы увидеть, что не так. php.net/manual/en/function.json-last- ошибка.php - person A Person   schedule 11.08.2012$json_data = json_encode($sdata);
и замените$json_data
в следующей строке на$sdata
? - person uınbɐɥs   schedule 12.08.2012$sdata
? Привести пример. - person salathe   schedule 12.08.2012