PHP での JSON の解析では、主に json_encode と json_decode という 2 つの PHP JSON 関数が使用されます。これらは、PHP による XML 解析よりもはるかに便利です。以下では、PHP JSON の使用について詳しく説明します。
JSON の基本
JSON (JavaScript Object Notation) は軽量のデータ交換形式です。
JSON には主に 2 つの構造があります:
「名前と値」のペアの集合で、PHPでは連想配列(連想配列)として理解できます。
値の順序付きリスト。 PHP では通常の配列として理解できます。
オブジェクトは、「名前/値」ペアの順序付けされていないコレクションです。オブジェクトは「{」(左括弧) で始まり、「}」(右括弧) で終わります。各「名前」の後には「:」 (コロン) が続き、「名前と値」のペアは「,」 (カンマ) で区切られます。
配列は、順序付けられた値のコレクションです。配列は「[」 (左括弧) で始まり、「]」 (右括弧) で終わります。値は「,」(カンマ)で区切ります。値には、文字列、数値、true、false、null、オブジェクト、または二重引用符で囲まれた配列を指定できます。これらの構造は入れ子にすることができます。
私の現在の JSON の理解は、PHP の連想配列に似た配列に関するものです。PHP 配列を JSON 形式に変換できます。
JSON の詳細については、JSON 公式 Web サイトと IBM の JSON の紹介を参照してください
PHP JSON 解析の例
PHP5.2 には PHP 拡張機能の一部として JSON が含まれているため、JSON を別途インストールする必要はありません。さらに、次の PHP JSON の例で中国語の文字化けが表示されないように、エンコード形式が UTF8 であることを確認してください。
JSON は Javascript の一部です。まず、JavaScript で JSON を定義する方法を見てみましょう。
alert(json_obj.WebName) ;
var json_arr =[{'WebName':'PHP Web サイト開発チュートリアル ネットワーク','WebSite' :'http://www.jb51.net'},{'ArtTitle':'PHP JSON 例の説明'} ] alert(json_arr[1].ArtTitle); var php_json = [['PHP Web サイト開発チュートリアル ネットワーク','http://www.jb51.net'],['記事タイトル',' PHP JSON 例の説明']]; alert(php_json[1][0]);
この JSON サンプル コードでは、
行 1 で次のように定義しています。 JSON はオブジェクトの形式で存在します。
行 4 は、JSON が配列の形式で存在することを定義しています。つまり、JSON オブジェクトはネストされているため、PHP の連想配列に似ていますが、それでもオブジェクトです。
行 7 は、JSON が通常の配列の形式で存在することを指定します。
注: Javascript では大文字と小文字が区別されるため、JSON 連想配列オブジェクトにアクセスするときはキーの大文字と小文字に注意してください。
PHP が JSON 形式のデータを操作する場合、最初のステップは PHP 配列を JSON 形式のデータに変換することです。PHP が渡された JSON 形式のデータを解析するときに、解析用の json_decode 関数。PHP 配列に変換します。JSON データを変換および解析するための PHP のコード例は次のとおりです。
$php_json = json_arr); $php_json = json_decode($php_json); ;
説明
: 連想配列はここで PHP を通じて定義され、json_encode を通じて JSON 形式のデータに変換されます。変換された JSON オブジェクトは echo ステートメントを通じて確認でき、JSON はデコードできます。 PHP JSON 解析関数 json_decode 。フォーマットされたデータは PHP 連想配列に解析されます。エンコードが正しくないと、JSON 中国語が文字化けして表示されます。 Editplus を使用して PHP をデバッグする場合は、ファイルを保存するときにエンコードが ANSI から UTF8 に変更されることに注意してください。
最後に、完全な PHP JSON インタラクションの例を見てみましょう
コードをコピーします
$json_arr = array('WebName'=>'PHP Web サイト開発チュートリアル ネットワーク','WebSite'=>'http://www.jb51.net'); $php_json = json_encode($ json_arr);
この時点で、json_encode 関数と json_decode 関数を使用して JSON 形式のデータを変換する例が導入されました。