2017-02-28 62 views
-1

我目前正在研究德國電影相關的網站。 由於我是新手,我已經購買了一個腳本來分析來自themoviedb的電影數據。解析JSON的特定部分

這裏是正在分析的完整JSON響應:

https://api.themoviedb.org/3/movie/283995?api_key=9ff892d334d361aac74e06ac0e1acb96&append_to_response=releases

上的腳本一個小的研究表明,標準RELEASE_DATE被解析:

public function getReleaseDate() 
{ 
    return (array_key_exists('release_date', $this->raw) ? $this->raw['release_date'] : $this->raw['first_air_date']); 
} 

這工作正常,給我「2017-04-25」。但是在那個JSON響應中,我想過濾掉特定於地區的發佈日期。我特別想只有從這一部分在這裏「上映時間」:

{ 
certification: "", 
iso_3166_1: "DE", 
primary: false, 
release_date: "2017-04-27" 
}, 

TL; DR:我需要解析的方式JSON響應,我只接受德國發行的「RELEASE_DATE」(」功能2017" 年4月27日)。

這裏是我的嘗試:

public function getReleaseDateLocalized() 
{ 
    $date = ''; 
    if (isset($this->raw['releases']['countries'])) 
    { 
     $dates = $this->raw['releases']['countries']; 
    } 
    elseif(isset($this->raw['release_date'])) 
    { 
     return $this->raw['release_date']; 
    } 
    else 
    { 
     return '0000-00-00'; 
    } 
    foreach($this->raw[$dates] as $locdates) 
    { 
     if (is_array($locdates)) 
     { 
      $de .= array_search("DE", $locdates); 
      $date .= raw[$de]['release_date']; 

     } 
     else 
     { 
      $date .= $this->raw['release_date'];     
     }  
    } 
    return $date; 
} 
+0

是否已進行了在寫一個腳本來處理,任何企圖?這個論壇更詳細地討論了程序中的一個實際問題,而不是如何寫X的泛型。如果你有一個腳本試圖做你想做的事情,但是被某個部分阻塞(比如如何解析JSON),那麼請上傳它,我們可以看看,但我們不能爲你寫腳本。 – bj7

+0

@ bj7添加了我的嘗試,目前無法使用。 – ujellyx

回答

0
public function getReleaseDate() 
{ 
    $countries = $this->raw['releases']['countries']; 
    $de = array_search('DE', array_column($countries, 'iso_3166_1')); 

    return $countries[$de]['release_date']; 
} 
+0

在你的幫助下,我終於可以開始工作了。謝謝! 對於那些有興趣在它看起來如何完成的:'公共功能getReleaseDate() \t { \t \t如果(isset($這個 - >原料[ '釋放'] [ '國家'])) \t \t { \t \t \t $ dates = $ this-> raw ['releases'] ['countries']; \t \t \t $ de = array_search(「DE」,array_column($ dates,'iso_3166_1')); \t \t \t return $ dates [$ de] ['release_date']; \t \t} \t \t ELSEIF(isset($這 - >原料[ 'RELEASE_DATE'])) \t \t { \t \t \t返回$這 - >原料[ 'RELEASE_DATE']; \t \t} \t \t其他 \t \t { \t \t \t回 '0000-00-00'; \t \t} \t}' – ujellyx