Я пытаюсь расшифровать использование JSON, но я не могу прочитать результаты узла.Декодирование JSON PHP
<html>
<head>
<title>Online PHP Script Execution</title>
</head>
<body>
<?php
$request = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDMXN%22%2C%20%22USDCHF%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=';
$session = curl_init($request);
curl_setopt($session, CURLOPT_RETURNTRANSFER,true);
$json = curl_exec($session);
$obj = json_decode($json, true);
if(!is_null($obj->query->results)){
// Safe to parse datae
echo results .'</br>';
}
print_r($obj['results']);
?>
</body>
</html>
JSON
{
"query": {
"count": 2,
"created": "2014-01-26T01:20:15Z",
"lang": "en-US",
"diagnostics": {
"user-time": "259",
"service-time": "341",
"build-version": "0.2.2157"
},
**"results": {**
"rate": [
{
"id": "USDMXN",
"Name": "USD to MXN",
"Rate": "13.4525",
"Date": "1/25/2014",
"Time": "7:20am",
"Ask": "13.453",
"Bid": "13.452"
},
{
"id": "USDCHF",
"Name": "USD to CHF",
"Rate": "0.8945",
"Date": "1/25/2014",
"Time": "7:20am",
"Ask": "0.8947",
"Bid": "0.8943"
}
]
}
}
}
Я пытаюсь получить узел «результаты», так что я могу получить курсы валют, которые могут быть использованы для отображения на веб-сайтах.
Этот код использует yahoo api для получения курсов валют.
Что такое '** "Результаты": {**' ' –
json_decode ($ JSON, правда);' возвращает массив. Если вы хотите объект, опустите второй аргумент (или установите значение false). – Quasdunk
Простой print_r ($ obj) даст вам довольно хорошее представление о том, что вы делаете неправильно. – andershagbard