千家信息网

WordPress JSON处理相关函数的案例

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下WordPress JSON处理相关函数的案例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!JSON处理是WordPress开发中的经常需要处理的一项工作,为此Word
千家信息网最后更新 2026年11月03日WordPress JSON处理相关函数的案例

小编给大家分享一下WordPress JSON处理相关函数的案例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

JSON处理是WordPress开发中的经常需要处理的一项工作,为此WordPress 定义了一堆JSON处理的函数,下面由WordPress教程栏目给大家做一下统一的介绍。

wp_json_encode

编码成 JSON,并且进行一些完整性检查。

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

简单说下 WordPress 引进这个函数的原因:

首先不同 PHP 版本 json_encode 函数支持不同的参数。PHP 5.3 之前只支持 一个参数 $data,PHP 5.3 引进了 $options 参数,PHP 5.5 又引进了 $depth 参数。所以 WordPress 适配不同版本的 PHP,wp_json_encode 都支持三个参数,兼容不同版本的 PHP。

在 json_encode 之前,wp_json_encode 使用函数 _wp_json_prepare_data 对数据进行清理,如果 boolean,integer,double,string,NULL 这些类型,直接返回,如果数组,继续使用 _wp_json_prepare_data 函数对数组中的每个元素进行清理,如果是对象,如果该对象的 class 实现了 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 检测和转换。

所以建议使用 wp_json_encode 对变量进行 JSON 编码,它的可靠性更高。

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 编码之后,中文更可读,我们也写了 wpjam_send_json 函数,它和 wp_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 两个函数:

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

wp_send_json_success 先输出 success 为 true,然后把数据 $data 放到 data 里面输出。wp_send_json_error 则会判断 $data 是否为 WP_Error 实例,如果是,则输出 code 和 message 的数组。我们实现的 wpjam_send_json 已经能够自动化处理这些错误了。

wp_is_json_request

判断当前请求是不是 JSON 请求,或者返回 JSON 结果,这个函数没有参数,直接使用:

wp_is_json_request()

它通过判断 $_SERVER['HTTP_ACCEPT'] 中含有 application/json,或者 $_SERVER['CONTENT_TYPE'] 等于 application/json。

wp_is_jsonp_request

判断当前请求是不是 JSONP 请求,或者返回 JSONP 结果,这个函数没有参数,直接使用:

wp_is_jsonp_request()

它首先判断 $_GET['_jsonp'] ,是否存在,然后通过函数 wp_check_jsonp_callback 判断它的值是否合法。

wp_check_jsonp_callback

判断 JSONP callback 是不是一个一个合法的 JavaScript callback 函数:

wp_check_jsonp_callback( $callback )

合法的 JavaScript callback 函数只能数字加字符,以及英文点号。

看完了这篇文章,相信你对WordPress JSON处理相关函数的案例有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

函数 编码 参数 数据 处理 输出 不同 合法 对象 数组 版本 中文 支持 案例 完整性 实例 插件 篇文章 结果 一致 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网核心科技是什么 深圳互联网科技公司 华宇互联网科技 安徽鑫晟辉互联网科技 银优互联网科技有限公司 智慧科技互联网 互联网科技创新企业排名 中国的互联网科技企业的崛起 成都互联网科技公司100强 栖莱科技互联网股份有限公司 互联网科技与大数据专业 天津腾达互联网科技有限公司 群盈汇互联网科技有限公司 恒生互联网科技业指数调整周期 工业互联网展湾科技股份有限公司 上海科技产业互联网平台 中天科技中国工业互联网 有人说阿里系是互联网科技企业 科技互联网行业投资研究 互联网科技大会大佬 中国互联网科技工作委员会毛军 南京欣网互联网科技 深圳天众互联网科技公司 互联网科技生活的内容 湖南一路畅行互联网科技 洛阳昕诺飞互联网科技有限公司 中国互联网十大科技股排名 万物互联网智能科技 科技互联网经济论坛 唐山双旺合互联网科技产业园
0