【PHP】JSON・XMLデータを取得しオブジェクト型に変換する例|API利用時など

今回は、PHPで取得したJSONまたはXMLデータを、PHPで扱えるオブジェクト型に変換する例となります。

JSONを取得しオブジェクト型に変換する例

以下、APIなど外部のJSONデータを取得し、オブジェクト型に変換する例となります。

<?php 
$url = 'https://example.com/XXXXXXXX';
$json = file_get_contents( $url ); 
$json = mb_convert_encoding($json, 'UTF-8', 'ASCII, JIS, UTF-8, eucJP-win, SJIS-win');
$results = json_decode( $json );
?> 

上記例では、まず、file_get_contents関数で取得したJSONデータを、mb_convert_encoding関数で日本語に変換しています。そして、json_decode関数を使いJSONデータを、オブジェクト型に変換しています。

また、mb_convert_encoding関数では、第1引数に変換する文字列を指定します。そして、第2引数には変換後、第3引数には変換前の文字エンコーディングを指定します。

XMLを取得しオブジェクト型に変換する例

以下、APIなど外部のXMLデータを取得し、オブジェクト型に変換する例となります。

<?php
$url = "https://example.com/XXXXXXXX";
$xml  = file_get_contents( $url );
$results = simplexml_load_string( $xml );
?>   

上記例では、まず、file_get_contents関数で取得したXMLデータを、simplexml_load_string関数を使いオブジェクト型に変換しています。

また、XMLデータをオブジェクトに変更する方法として、引数に指定したXMLをパース(解析)し、オブジェクト型に変換できるsimplexml_load_file関数もあります。

file_get_contents以外で外部データを取得する方法

今回の例では、外部データを取得する際に、file_get_contents関数を利用しましたが、外部データを取得できる関数としてcURL関数もあります。

cURL関数は、多くの異なるプロトコルでサーバーと接続し通信できる関数となり、転送時にさまざまなオプションを設定することも可能です。

詳しくは以下のリンク先を参考にしてみてください。

参考サイト、参考書籍

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はコチラから。