Home > CMS Tutorial > WordPress > body text

A complete list of WordPress JSON processing related functions

藏色散人
Release: 2019-09-20 11:17:52
forward
3359 people have browsed it

JSON processing is a task that often needs to be processed in WordPress development. For this reason, WordPress defines a bunch of JSON processing functions. The following is done by the WordPress Tutorial column. Let’s give a unified introduction.

A complete list of WordPress JSON processing related functions

wp_json_encode

Encode to JSON and perform some integrity checks.

wp_json_encode( $data, $options = 0, $depth = 512 )
Copy after login

Let’s briefly talk about the reason why WordPress introduced this function:

First of all, different PHP versions of the json_encode function support different parameters. PHP 5.3 previously supported only one parameter, $data. PHP 5.3 introduced the $options parameter, and PHP 5.5 introduced the $depth parameter. Therefore, WordPress adapts to different versions of PHP, and wp_json_encode supports three parameters and is compatible with different versions of PHP.

Before json_encode, wp_json_encode uses the function _wp_json_prepare_data to clean the data. If these types are boolean, integer, double, string, NULL, it will be returned directly. If it is an array, continue to use the _wp_json_prepare_data function to clean each element in the array. The element is cleaned. If it is an object, if the class of the object implements the JsonSerializable interface, then $data = $data->jsonSerialize() is returned. Otherwise, continue to use _wp_json_prepare_data to clean each attribute in the object.

Then use json_encode for encoding. If unsuccessful, use _wp_json_sanity_check to perform integrity processing on the data, and finally use json_encode for encoding. _wp_json_sanity_check mainly uses the function _wp_json_convert_string to perform deep UTF-8 detection and conversion of data.

So it is recommended to use wp_json_encode to JSON encode variables, which is more reliable.

wpjam_json_encode

wp_json_encode( $data, $options = JSON_UNESCAPED_UNICODE, $depth = 512 )
Copy after login

PHP5.4 JSON has a new option: JSON_UNESCAPED_UNICODE, hence the name: Do not encode into Unicode to make Chinese more readable.

So we wrote a wpjam_json_encode function. Compared with wp_json_encode, the default value of the $options parameter is set to JSON_UNESCAPED_UNICODE. In this way, if wpjam_json_encode($data) is used directly, Chinese will not be encoded into unicode and is more readable. .

As long as you install the WPJAM Basic plugin, your WordPress will have this function.

wp_send_json

Send JSON data directly.

wp_send_json( $response, $status_code = null )
Copy after login

He first outputs the Content-Type header of application/json. If $status_code is not empty, then outputs the status code of $status_code.

Then call wp_json_encode to encode the data.

wpjam_send_json

wpjam_send_json( $response, $status_code = null )
Copy after login

Also in order to make Chinese more readable after JSON encoding, we also wrote the wpjam_send_json function, which is almost the same as wp_send_json, just calling The function to encode the data is wpjam_json_encode.

In addition, if the incoming data is an instance of WP_Error, then wpjam_send_json directly outputs errcode and errmsg JSON. If errcode is not set, wpjam_send_json will automatically add errcode=>0

Install the WPJAM Basic plug-in, and your WordPress will have this function.

wp_send_json_success and wp_send_json_error

WordPress also provides two functions, wp_send_json_success and wp_send_json_error:

wp_send_json_success( $data = null, $status_code = null )
wp_send_json_error( $data = null, $status_code = null )
Copy after login

wp_send_json_success First output success as true, and then set The data $data is placed in data and output. wp_send_json_error will determine whether $data is a WP_Error instance. If so, it will output an array of code and message. Our implementation of wpjam_send_json can already handle these errors automatically.

wp_is_json_request

Determine whether the current request is a JSON request, or return a JSON result. This function has no parameters, use it directly:

wp_is_json_request()

It determines that $_SERVER['HTTP_ACCEPT'] contains application/json, or $_SERVER['CONTENT_TYPE'] is equal to application/json.

wp_is_jsonp_request

Determine whether the current request is a JSONP request, or return a JSONP result. This function has no parameters, use it directly:

wp_is_jsonp_request()

It first determines whether $_GET['_jsonp'] exists, and then determines whether its value is legal through the function wp_check_jsonp_callback.

wp_check_jsonp_callback

Determine whether the JSONP callback is a legal JavaScript callback function:

wp_check_jsonp_callback( $callback )

The legal JavaScript callback function can only include numbers plus characters, and English periods.

The above is the detailed content of A complete list of WordPress JSON processing related functions. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:wpjam.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!