2016-10-31 12 views
1

このJSONページから2つの属性を正常に取得しましたが、「年」属性の取得に問題があります。私はいくつかの親要素が欠けているという問題があると思います。誰かが私を正しい方向に向けることができれば大変感謝します。これは、JSON構造のリンクです:あなたがここにthis eval.inPHPを使用してJSONから年属性を取得する

にAPIの結果を見ることができますhttp://api.edmunds.com/api/vehicle/v2/vins/WAUYP54B01N099265?fmt=json&api_key=XXX

はコードです:

<?php 
$datvin=""; 
$title=""; 
$posts=""; 
$mds=""; 
// copy file content into a string var 
if (isset($_POST['datvin'])){ 
$datvin=trim($_POST['datvin']); 
$json_file = file_get_contents('http://api.edmunds.com/api/vehicle/v2/vins/'.$datvin.'?fmt=json&api_key=XXX'); 
// convert the string to a json object 
$jfo = json_decode($json_file); 
// read the title value 
$title = $jfo->make->name; 
// copy the posts array to a php var 
$posts = $jfo->make->id; 
$mds= $jfo->years->year; 

} 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="stylesheet" href="css/style.css" /> 
</head> 
<body> 
<div class="container"> 
<div class="header"> 

</div><!-- header --> 
<h1 class="main_title"><?php echo $title; ?></h1> 
<div class="content"> 
<form method="post"> 
<input type="text" name="datvin"><br> 
<input type="submit"> 
</form> 
<ul class="ul_json clearfix"> 
<?php 

echo "$title<br>"; 
echo "$posts<br>"; 
echo "$mds"; 
?> 
</ul> 
</div><!-- content --> 
<div class="footer"> 

</div><!-- footer --> 
</div><!-- container --> 
</body> 
</html> 

答えて

2

年は配列です。試してみてください$mds = $jfo->years[0]->year;

+0

まあ、var_dump($ jfo)を使って最終的な配列を見るのは良いでしょう。それがどのように見えるかを見る... – TimBrownlaw

+0

ユーザーは自分のOPにAPIキーを残して、私は構造を見てきました。 – Styphon

+0

ええ、先ほどチェックしたことがありますが、私はそれを引き離したことはありません。 :)とても良い発見! – TimBrownlaw

関連する問題