ホームページ >バックエンド開発 >PHPチュートリアル >JSON を使用した PHP でのデータのエンコードとデータのデコード

JSON を使用した PHP でのデータのエンコードとデータのデコード

王林
王林オリジナル
2023-06-19 15:03:131592ブラウズ

Web アプリケーションの普及に伴い、データのエンコードとデコードが必要なプロセスになりました。 PHP では、データのエンコードとデコードに JSON (JavaScript Object Notation) を使用することが非常に一般的かつ一般的な方法になっています。

JSON は、JavaScript オブジェクトの形式でデータを表し、文字列の送信と解析を容易にする軽量のデータ交換形式です。 PHP では、データのエンコードとデコードに JSON を使用するのは非常に簡単で、実装に必要なコードは少量だけです。

PHP で JSON を実装する方法は多数あり、ネイティブ PHP 関数を使用したり、サードパーティのライブラリと組み合わせたりすることができます。ただし、PHP 5.2 以降のバージョンには、データのエンコードとデコードを簡単に実行できる 2 つの関数 json_encode() と json_decode() が付属しています。

以下は、これら 2 つの関数の使用方法の詳細な紹介です:

json_encode() 関数:

json_encode() 関数は、PHP 配列またはオブジェクトを JSON 文字列に変換できます。 。構文は次のとおりです。

string json_encode(mixed $value, int $options = 0, int $ Depth = 512)

このうち、$value パラメータは必須であり、値を表します$options パラメータは、次のいずれかの値のエンコード オプションを設定するために使用されます:

JSON_HEX_TAG: すべての '7a8e739244cf9c232be07efcfca9db6d' を 'u003C' と 'u003E に変換します」を選択すると、XSS 攻撃を防ぐことができます。

JSON_HEX_APOS: 文字列内の引用符の競合を避けるために、すべての一重引用符を「u0027」に変換します。

JSON_HEX_QUOT: 文字列内の引用符の競合を避けるために、すべての二重引用符を「u0022」に変換します。

JSON_HEX_AMP: フォーム送信時の問題を避けるために、すべての「&」を「u0026」に変換します。

JSON_UNESCAPED_SLASHES: スラッシュをエスケープしないでください。

JSON_PRETTY_PRINT: 書式設定にはスペースを使用します。

$ Depth パラメーターはシリアル化の深さを設定するために使用されます。これにより、配列またはオブジェクトの相互参照によって引き起こされる無限ループを回避できます。デフォルト値は 512 ですが、深さを制限するには 0 に設定できます。

たとえば、PHP 配列を JSON 文字列にエンコードするには、次のコードを使用できます:

ad8f40d3ebaeb69ac681470705e019ef30, 'city'=>'New York');
echo json_encode($arr);
?>

出力結果は:

{"名前":"ジョン","年齢":30,"都市":"ニューヨーク"}

json_decode() 関数:

json_decode () 関数は、JSON 文字列を PHP 配列またはオブジェクトに変換できます。その構文は次のとおりです。

mixed json_decode(string $json, bool $assoc = false, int $ Depth = 512, int $options = 0)

そのうち、$json パラメーターは必須であり、デコードする JSON 文字列を示します。 $assoc パラメータは、デコード後に返されるデータ型を設定するために使用され、次の値のいずれかになります:

false: オブジェクトを返します。

true: 連想配列を返します。

$ Depth パラメータは json_encode() 関数と同じ方法で使用され、オブジェクトまたは配列の相互参照によって引き起こされる無限ループを回避するために使用されます。$options パラメータはデコード中にオプションを設定するために使用されます。次の値のいずれかになります。 :

JSON_BIGINT_AS_STRING: JSON 文字列内の大きな整数を文字列に変換します。

たとえば、JSON 文字列を PHP 配列にデコードするには、次のコードを使用できます:

af0c7b5069fe85ee933eb17814c4c6b7

出力結果は次のとおりです:

stdClass オブジェクト
(

[name] => John
[age] => 30
[city] => New York

)

結論:

実用性と互換性の観点から、JSON は現在最も人気のあるデータ形式の 1 つです。 PHP でのデータのエンコードとデコードに JSON を使用することも、非常に便利で高速かつ安定した方法です。 json_encode() 関数と json_decode() 関数の使い方をマスターすると、開発者の作業がより効率的かつ簡単になります。

以上がJSON を使用した PHP でのデータのエンコードとデータのデコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。