ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHPチュートリアルでJSONを適用する方法を詳しく説明

PHP_PHPチュートリアルでJSONを適用する方法を詳しく説明

WBOY
WBOYオリジナル
2016-07-13 17:40:40769ブラウズ

今日のインターネットの世界では、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 => 深空,
contact => array(
email => shenkong at qq ドット コム、ウェブサイト = & gt; http://www.chinaz.com、
); $ json_string = json_encode ($ arr); UTF-8 以外のエンコードでは中国語の文字はエンコードできないため、gb2312 を使用して PHP コードを作成する場合は、iconv または mb を使用してコンテンツを変換する必要があることに注意してください。中国語を UTF-8 に変換し、json_encode に変換した場合、上記の出力結果は次のようになります。 com","website ":"http://www.chinaz.com"}}

これは連載に非常に似ていると言いましたが、まだ信じられていません。エンコード後、デコードする必要があります。PHP には、対応する関数 json_decode が用意されており、json_decode を実行すると、次のような操作が行われます。 Yixin、
ニック => シェンコン、
連絡先 => array(
電子メール => qq dot com のシェンコン、
ウェブサイト => http://www.chinaz.com,
)
); json_encode($arr );
$obj = json_decode($json_string);


; オブジェクト内のプロパティにアクセスできますか? $obj->name は、もちろん、簡単に呼び出せるように配列に変換することもできます。
$json_string = json_encode($arr);
$arr = ( array) $obj;
print_r($arr);


PHP は、キャッシュの生成以外に、配列を直接保存するのに特に便利ではありません。この文字を Javascript で使用する方法を見てみましょう:






調整されたファイル profile.php
$arr = array(
name => Chen Yixin,
nick => Shenkong 、
連絡先 => array(
電子メール => shenkong at qq dot com、
ウェブサイト => http://www.chinaz.com,
)
);
$json_string = json_encode($arr ); echo "getProfile($json_string)";
?>

明らかに、index.html が profile.php を呼び出すと、JSON 文字列が生成され、パラメータとして getProfile に渡され、ニックネームが div に挿入されます。このようにして、クロスドメインのデータ対話が完了します。非常に簡単ではないでしょうか? JSON はとてもシンプルで使いやすいので、何を待っていますか



http://www.bkjia.com/PHPjc/486211.html

www.bkjia.com

http://www.bkjia.com/PHPjc/486211.html技術記事今日のインターネットでは、AJAX はもはや聞きなれない言葉ではありません。 AJAX といえば、RSS をきっかけに登場した XML がすぐに思い浮かぶかもしれません。特に XML 解析はおそらくもう問題ではありません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。