2016-06-17 4 views
0

これは私が、外部リンクから入手、私のJSONファイルです:外部JSONファイルで非オブジェクトのプロパティを取得しようとすると

[ 
    { 
     "Id":441, 
     "Name":"Gary" 
    }, 
    { 
     "Id":1864, 
     "Name":"Bob" 
    } 
] 

私がしようとするとIdNameを表示すると、私はエラーが表示されます。

Notice: Trying to get property of non-object

$file = file_get_contents('http://linktojson.com'); 
$decode = json_decode($file, false); 
$name = $decode->Name; 
$id = $decode->Id; 

echo $name; 
echo $id; 

答えて

2

あなたのJSONデータオブジェクトを入れ子にしています。だから、このようにアクセスする必要があります。

$decode[0]->Name; 

はここを参照してください:あなたは、同じ構造を持つ複数のオブジェクトを持っているようhttps://3v4l.org/2aY22


を見て、あなたはおそらくこのように、彼らの上にループにしたい:

foreach($decode AS $person) { 
    echo $person->Id . ": " . $person->Name; 
} 

サイドノート:それは本当にはに役立ちますデータ構造を調べる際に問題がある場合は、そのデータ構造を調べてください。 var_dump($decode);を実行するだけで、どのように構造化されているのか、どのようにアクセスする必要があるのか​​がはっきり分かります。

+0

ああ、それです!どうもありがとう。また、最初の結果のみが表示されます。それらをすべて表示するために 'foreach'ループを使用することは可能ですか? –

+0

@bobjomes絶対にループすることができます。ここをクリックしてください:https://3v4l.org/JM7l5 – jszobody

関連する問題