Maison  >  Article  >  Tutoriel CMS  >  Une liste complète des fonctions liées au traitement WordPress JSON

Une liste complète des fonctions liées au traitement WordPress JSON

藏色散人
藏色散人avant
2019-09-20 11:17:523317parcourir

Le traitement JSON est une tâche qui doit souvent être traitée dans le développement WordPress. Pour cette raison, WordPress définit un ensemble de fonctions de traitement JSON. Ce qui suit est effectué par le Tutoriel WordPress colonne. Donnons une introduction unifiée.

Une liste complète des fonctions liées au traitement WordPress JSON

wp_json_encode

Encodez en JSON et effectuez quelques vérifications d'intégrité.

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

Parlons brièvement de la raison pour laquelle WordPress a introduit cette fonction :

Tout d'abord, différentes versions PHP de la fonction json_encode prennent en charge différents paramètres. PHP 5.3 ne prenait auparavant en charge qu'un seul paramètre, $data, PHP 5.3 introduisait le paramètre $options et PHP 5.5 introduisait le paramètre $deep. Par conséquent, WordPress s'adapte aux différentes versions de PHP, et wp_json_encode prend en charge trois paramètres et est compatible avec différentes versions de PHP.

Avant json_encode, wp_json_encode utilise la fonction _wp_json_prepare_data pour nettoyer les données. Si booléen, entier, double, chaîne, NULL sont de ces types, il sera renvoyé directement. S'il s'agit d'un tableau, continuez à utiliser _wp_json_prepare_data. fonction pour nettoyer chaque élément du tableau. S'il s'agit d'un objet, si la classe de l'objet implémente l'interface JsonSerializing, alors $data = $data->jsonSerialize() est renvoyé. utilisez _wp_json_prepare_data pour nettoyer chaque attribut de l'objet.

Utilisez ensuite json_encode pour l'encodage. En cas d'échec, utilisez _wp_json_sanity_check pour effectuer un traitement d'intégrité sur les données, et enfin utilisez json_encode pour l'encodage. _wp_json_sanity_check utilise principalement la fonction _wp_json_convert_string pour effectuer une détection UTF-8 approfondie et une conversion des données.

Il est donc recommandé d'utiliser wp_json_encode pour encoder les variables JSON, ce qui est plus fiable.

wpjam_json_encode

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

PHP5.4 JSON a une nouvelle option : JSON_UNESCAPED_UNICODE, d'où le nom : Ne pas encoder en Unicode pour rendre le chinois plus lisible.

Nous avons donc écrit une fonction wpjam_json_encode. Par rapport à wp_json_encode, la valeur par défaut du paramètre $options est définie sur JSON_UNESCAPED_UNICODE De cette façon, si wpjam_json_encode($data) est utilisé directement, le chinois ne sera pas encodé. Unicode et est plus lisible.

Tant que vous installez le plugin WPJAM Basic, votre WordPress aura cette fonction.

wp_send_json

Envoyer directement les données JSON.

wp_send_json( $response, $status_code = null )

Il affiche d'abord l'en-tête Content-Type de application/json Si $status_code n'est pas vide, il affiche ensuite le code d'état de $status_code.

Appelez ensuite wp_json_encode pour encoder les données.

wpjam_send_json

wpjam_send_json( $response, $status_code = null )

Aussi afin de rendre le chinois plus lisible après l'encodage JSON, nous avons également écrit la fonction wpjam_send_json, qui est presque la même que wp_send_json, il suffit d'appeler La fonction pour encoder les données est wpjam_json_encode.

De plus, si les données entrantes sont une instance de WP_Error, alors wpjam_send_json génère directement errcode et errmsg JSON. Si le code d'erreur n'est pas défini, wpjam_send_json ajoutera automatiquement errcode=>0

Installez le plug-in WPJAM Basic et votre WordPress aura cette fonction.

wp_send_json_success et wp_send_json_error

WordPress fournit également deux fonctions : wp_send_json_success et wp_send_json_error

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

wp_send_json_suc : ce premier résultat donne le succès comme étant vrai, et puis les données $data sont placées dans les données et la sortie. wp_send_json_error déterminera si $data est une instance de WP_Error. Si tel est le cas, il affichera un tableau de code et de message. Notre implémentation de wpjam_send_json peut déjà gérer ces erreurs automatiquement.

wp_is_json_request

Déterminez si la requête actuelle est une requête JSON, ou renvoie un résultat JSON. Cette fonction n'a pas de paramètres, utilisez-la directement :

wp_is_json_request()


Il détermine que $_SERVER['HTTP_ACCEPT'] contient application/json, ou $_SERVER['CONTENT_TYPE'] est égal à application/ json.

wp_is_jsonp_request


Déterminez si la requête actuelle est une requête JSONP, ou renvoie un résultat JSONP. Cette fonction n'a pas de paramètres, utilisez-la directement :

wp_is_jsonp_request()

Il détermine d'abord si $_GET['_jsonp'] existe, puis détermine si sa valeur est légale via la fonction wp_check_jsonp_callback.

wp_check_jsonp_callback

Déterminez si le rappel JSONP est une fonction de rappel JavaScript légale :

wp_check_jsonp_callback( $callback )

La fonction de rappel JavaScript légale ne peut accepter que les chiffres plus les caractères et les points anglais.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer