今日のインターネットでは、AJAX はもはや聞きなれない言葉ではありません。 AJAX といえば、RSS をきっかけに登場した XML がすぐに思い浮かぶかもしれません。特に PHP5 や、最も軽量な SimpleXML などの多数の XML パーサーの登場により、XML 解析はおそらく問題ではなくなりました。ただし、AJAX の場合、XML 解析はフロントエンド Javascript のサポートに重点を置いています。 XML を解析したことがある人なら誰でも、ツリーとノードに混乱すると思います。 XML が非常に優れたデータ保存方法であることは否定できませんが、その柔軟性により解析が困難になります。もちろん、ここで言及する難しさは、この記事の主役である JSON に関連したものです。
JSONとは何ですか?このコンセプトについては繰り返しません。平たく言えば、PHP のシリアル化された文字列のようなデータ ストレージ形式です。データの説明です。たとえば、配列をシリアル化して保存すると、簡単に逆シリアル化して適用できます。 JSON にも同じことが当てはまりますが、クライアント側の Javascript とサーバー側の PHP の間に対話型のブリッジが構築される点が異なります。 PHP を使用して JSON の後に文字列を生成し、この文字列をフロントエンド Javascript に渡すと、それを JSON に簡単に変換して適用できます。簡単に言うと、本当に配列のように見えます。
本題に戻り、JSON の使用方法です。 PHP5.2 には JSON のサポートが組み込まれています。もちろん、このバージョンより前のバージョンの場合は、市場に多数の PHP バージョンの実装があるので、必要なものを使用してください。ここでは主に、PHP の JSON 組み込みサポートについて説明します。非常にシンプルな 2 つの関数: json_encode と json_decode (シリアル化とよく似ています)。 1 つはエンコード用、もう 1 つはデコード用です。まずエンコーディングの使用方法を見てみましょう:
$arr = array( 'name' => 'Chen Yixin', 'nick' => 'Deep Space ' , '連絡先' => array( '電子メール' => 'shengong at qq dot com', 'ウェブサイト' => 'http://www.itrenjia.com', ) ); $json_string = json_encode($arr); ?>
|
|
'ニック' => '深宇宙',
'ウェブサイト ' => 'http://www.itrenjia.com', ) ); $json_string = json_encode($arr); print_ r($ obj);
オブジェクト内のプロパティにアクセスできますか? $obj->name は、もちろん、簡単に呼び出せるように配列に変換することもできます。
$json_string = json_encode($arr); ; $arr = (配列) $obj;
|
|
実際、これを書いている時点では、データの保存形式が異なることを除けば、JSON と XML の間に大きな違いはありませんが、以下に 1 点言及します。これは XML とはほとんど関係がありませんが、JSON のより広範なアプリケーション、つまりクロスドメイン データ呼び出しを示すことができます。セキュリティの問題により、AJAX はクロスドメイン呼び出しをサポートしていません。異なるドメイン名でデータを呼び出すことは非常に面倒ですが、解決策はあります (Stone の講義でプロキシについて言及しましたが、私には理解できません)。解決されます)。クロスドメイン呼び出しを説明するには十分な 2 つのファイルを作成しました。
メインファイルindex.html
$arr = array(
'ニック' => '深宇宙', '連絡先' => array( ' email' = > 'qq ドット コムのシェンコン', 'ウェブサイト' => 'http://www.itrenjia.com' ) ); echo "getProfile($json_string)";
明らかに、index.html が profile.php を呼び出すと、JSON 文字列が生成され、パラメータとして getProfile に渡され、その後ニックネームが挿入されます。 div に追加すると、クロスドメインのデータ対話が完了します。これは非常に簡単ではないでしょうか。 JSON は非常にシンプルで使いやすいので、何を期待しているでしょうか?
|