3

グーグルしてコードをコードに実装した後も、何も表示できません。何もない。一つではありません。

JSONを吐き出すURLがあります:

 {"videos":[{"video":{"name":"Sanyo Zio","youtube":"FxxLDr--R5A","post_date":"2010-10-08 01:00:00",...

このページにアクセスするために使用しているコードは次のとおりです。

 $url = file_get_contents("http://[website]/json/test.json");

 $arr = json_decode($url,true);

これが、ページから任意のデータにアクセスしようとしたものの短いリストです。

1:

 print_r($arr);

2:

 foreach($arr['videos']['video'] as $item) {
   echo "Name: ". $item[0] ."<br>"; 
 }

3:

 $obj = $arr[0];
 echo $obj;

4:

 foreach($arr as $a){
   echo "Name: ".$a['videos']['video']['name']."<br />";
 }

明らかに私は何かが欠けていますが、私は自分が間違っていることを理解することができませんでした!私のエンコーディングは正しくありませんか?まず、JSONをエンコードする方法は次のとおりです。

 $arr = array('videos' => array());
 foreach($vid as $items){
  $arr['videos'][] = array('video' => array(
    'name' => $items['videoName'], 'youtube' => $items['youtubeID'], 'post_date' => $items['productionTimestamp'], 'description' => $items['videoDesc'], 'link' => $single_linker_values['deeplink'], 'image' => $image));
 }
 echo json_encode($arr);

何かアイデア/提案はありますか?


更新-どうやらサーバーはロックダウンされているようですが、社内にいるので気づいていません:)明らかにウェブページはロックダウンしています!助けてくれてありがとう!

4

1 に答える 1

1

PHPマニュアルから

jsonをデコードできない場合、またはエンコードされたデータが再帰制限よりも深い場合は、NULLが返されます。

再帰制限を指定していないため、JSONが無効であるか、URLから何も取得されていない可能性があります。

試すべき3つのこと:

  • json_decodeエラーが発生したかどうかを判断します

    print_r(json_last_error()); // call after json_decode

  • データが返されていることを確認してください

    print_r($url);

  • データがオブジェクトとしてデコードされるかどうかを確認する

    $obj = json_decode($url);

    print_r($obj);

于 2013-01-07T15:56:24.760 に答える