JSONデータ読み込み方法

WebAPIなどでJSONデータを取得後、PHPで利用する方法について紹介します。

json_decode関数

JSONデータをPHPで利用するためには、json_decode関数を利用します。

json_decode関数の第2引数の指定に伴い、戻り値が配列形式になるかオブジェクト形式になるか決定されます。

配列形式で取得

$array = json_decode( $json , true );

「第2引数をtrueにする」と配列形式で取得できます。配列形式では、$array[‘key’]といった形でデータにアクセスします。

オブジェクト形式で取得

$obj = json_decode( $json , false );
$obj = json_decode( $json );

「第2引数をfalseにする」か「第2引数を指定しない」とオブジェクト形式で取得できます。オブジェクト形式では、$obj->keyのようにアロー演算子(->)を使いデータにアクセスします。

サンプル

下記サンプルでは、「HeartRails Geo API」を利用してます。「東京都」 に存在する市区町村名の一覧をJSON形式で取得し、json_decode関数を通すことでPHPで扱えるようにしています。ちなみにfile_get_contents関数を利用してますが、これはファイルの内容を全て文字列として読み込む関数です。

配列形式で取得

$url = "http://geoapi.heartrails.com/api/json?method=getCities&prefecture=%E6%9D%B1%E4%BA%AC%E9%83%BD";
$json = file_get_contents($url);
$arr = json_decode($json,TRUE);
if ($arr === NULL) {
    return;
}else{
    var_dump($arr['response']['location']);
}
array (size=66)
  0 => 
    array (size=2)
      'city' => string '千代田区' (length=12)
      'city_kana' => string 'ちよだく' (length=12)
  1 => 
    array (size=2)
      'city' => string '中央区' (length=9)
      'city_kana' => string 'ちゅうおうく' (length=18)
  2 => 
    array (size=2)
      'city' => string '港区' (length=6)
      'city_kana' => string 'みなとく' (length=12)
                   (以下省略)

オブジェクト形式で取得

$url = "http://geoapi.heartrails.com/api/json?method=getCities&prefecture=%E6%9D%B1%E4%BA%AC%E9%83%BD";
$json = file_get_contents($url);
$obj = json_decode($json);
if ($obj === NULL) {
    return;
}else{    
    var_dump($obj->response->location);
}
array (size=66)
  0 => 
    object(stdClass)[3]
      public 'city' => string '千代田区' (length=12)
      public 'city_kana' => string 'ちよだく' (length=12)
  1 => 
    object(stdClass)[4]
      public 'city' => string '中央区' (length=9)
      public 'city_kana' => string 'ちゅうおうく' (length=18)
  2 => 
    object(stdClass)[5]
      public 'city' => string '港区' (length=6)
      public 'city_kana' => string 'みなとく' (length=12)
                   (以下省略)
【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。

logo
わくわくBank.
技術系の記事を中心に、役に立つと思ったこと、整理したい情報などを掲載しています。