ホームページ  >  記事  >  CMS チュートリアル  >  WordPress JSON 処理関連関数の完全なリスト

WordPress JSON 処理関連関数の完全なリスト

藏色散人
藏色散人転載
2019-09-20 11:17:523317ブラウズ

JSON 処理は、WordPress 開発で頻繁に処理する必要があるタスクです。このため、WordPress では一連の JSON 処理関数が定義されています。以下は WordPress チュートリアル ## によって行われます。 # 列. 統一して紹介しましょう。

WordPress JSON 処理関連関数の完全なリスト

wp_json_encode

JSON にエンコードし、いくつかの整合性チェックを実行します。

wp_json_encode( $data, $options = 0, $depth = 512 )

WordPress がこの関数を導入した理由について簡単に説明しましょう:

まず第一に、json_encode 関数の異なる PHP バージョンは異なるパラメータをサポートします。 PHP 5.3 では、以前は $data という 1 つのパラメータのみがサポートされていましたが、PHP 5.3 では $options パラメータが導入され、PHP 5.5 では $ Depth パラメータが導入されました。したがって、WordPress はさまざまなバージョンの PHP に適応し、wp_json_encode は 3 つのパラメーターをサポートし、さまざまなバージョンの PHP と互換性があります。

json_encode の前に、wp_json_encode は関数 _wp_json_prepare_data を使用してデータをクリーンアップします。これらの型がブール、整数、倍精度、文字列、NULL の場合は、直接返されます。配列の場合は、引き続き _wp_json_prepare_data を使用します。配列内の各要素をクリーニングする関数。要素はクリーニングされます。それがオブジェクトの場合、オブジェクトのクラスが JsonSerializable インターフェイスを実装している場合、$data = $data->jsonSerialize() が返されます。それ以外の場合は、続行します。 _wp_json_prepare_data を使用して、オブジェクト内の各属性をクリーンアップします。

次に、エンコードに json_encode を使用します。失敗した場合は、_wp_json_sanity_check を使用してデータの整合性処理を実行し、最後にエンコードに json_encode を使用します。 _wp_json_sanity_check は主に関数 _wp_json_convert_string を使用して、詳細な UTF-8 検出とデータの変換を実行します。

したがって、変数を JSON エンコードするには、より信頼性の高い wp_json_encode を使用することをお勧めします。

wpjam_json_encode

wp_json_encode( $data, $options = JSON_UNESCAPED_UNICODE, $depth = 512 )

PHP5.4 JSON には新しいオプション JSON_UNESCAPED_UNICODE があり、そのため「中国語を読みやすくするために Unicode にエンコードしない」という名前が付けられました。

そこで、wpjam_json_encode 関数を作成しました。wp_json_encode と比較すると、$options パラメーターのデフォルト値は JSON_UNESCAPED_UNICODE に設定されています。このように、wpjam_json_encode($data) を直接使用すると、中国語はエンコードされませんUnicode なので読みやすくなります。

WPJAM Basic プラグインをインストールしている限り、WordPress にはこの機能が備わっています。

wp_send_json

JSON データを直接送信します。

wp_send_json( $response, $status_code = null )

最初に application/json の Content-Type ヘッダーを出力し、$status_code が空でない場合は、$status_code のステータス コードを出力します。

次に、wp_json_encode を呼び出してデータをエンコードします。

wpjam_send_json

wpjam_send_json( $response, $status_code = null )

また、JSON エンコード後に中国語を読みやすくするために、wp_send_json とほぼ同じである wpjam_send_json 関数も作成しました。データをエンコードする関数は wpjam_json_encode です。

さらに、受信データが WP_Error のインスタンスである場合、wpjam_send_json は errcode と errmsg JSON を直接出力します。 errcode が設定されていない場合、wpjam_send_json は errcode=>0

WPJAM Basic プラグインをインストールすると、WordPress にこの機能が追加されます。

wp_send_json_success と wp_send_json_error

WordPress には、wp_send_json_success と wp_send_json_error という 2 つの関数もあります。

wp_send_json_success( $data = null, $status_code = null )
wp_send_json_error( $data = null, $status_code = null )

wp_send_json_success 最初に success を true として出力し、次にset データ$dataをdataに入れて出力します。 wp_send_json_error は $data が WP_Error インスタンスであるかどうかを判断し、そうであればコードとメッセージの配列を出力します。 wpjam_send_json の実装はすでにこれらのエラーを自動的に処理できます。

wp_is_json_request

現在のリクエストが JSON リクエストであるかどうかを判断するか、JSON 結果を返します。この関数にはパラメータがないため、直接使用します:

wp_is_json_request()

$_SERVER['HTTP_ACCEPT'] に application/json が含まれているか、$_SERVER['CONTENT_TYPE'] が application/ と等しいかどうかを判断します。ジェソン。

wp_is_jsonp_request

現在のリクエストが JSONP リクエストであるかどうかを判断するか、JSONP 結果を返します。この関数にはパラメータがないため、直接使用します:

wp_is_jsonp_request()

最初に $_GET['_jsonp'] が存在するかどうかを判断し、次に関数 wp_check_jsonp_callback を通じてその値が正当であるかどうかを判断します。

wp_check_jsonp_callback

JSONP コールバックが正当な JavaScript コールバック関数であるかどうかを判断します:

wp_check_jsonp_callback( $callback )

正当な JavaScript コールバック関数には、数字と文字、および英語のピリオドのみを含めることができます。

以上がWordPress JSON 処理関連関数の完全なリストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はwpjam.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。