欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

「自学哈网」WordPress JSON数据处理函数

作者 : 自学哈 本文共1487个字,预计阅读时间需要4分钟 2022-11-26 共101人阅读
也想出现在这里? 联系我们

在 WordPress 开发中难免遇到数据接口的对接和开发适配,而子凡作为 WordPress 的深度爱好者来说更是习惯使用 WordPress 系统封装的函数,所以但就 json 数据来说,WordPress 就定义了一堆的函数,由于最近在升级一些之前的 json 数据接口,所以顺便就来记录一下 WordPress json 数据处理函数及使用。

wp_json_encode

1
wp_json_encode( mixed $data, int $options, int $depth = 512 )

php json_encode 的升级版本,将变量编码为 JSON,并进行一些完整性检查。WordPress 5.3.0 不再处理对 PHP < 5.6 的支持。

wp_json_encode 函数默认也是通过 json_encode 编码,如果不成功则会使用 _wp_json_sanity_check 对数据做完整性处理,然后再用 json_encode 编码。所以使用 wp_json_encode 进行 json 数据编码可靠性更高。

如果想要提高中文的可读性,防止 json 编码把中文转换成 unicode,所以可以设置$options 参数为 JSON_UNESCAPED_UNICODE,这样中文就不会被转码,就能被直接识别。

wp_send_json

1
wp_send_json( mixed $response, int $status_code = null, int $options )

直接发送通过 wp_json_encode 编码的数据。使用 wp_send_json() 后不需要包含 wp_die() 或 exit(0),因为它会自动调用 wp_die()。

wp_send_json_success / wp_send_json_error

1
2
wp_send_json_success( mixed $data = null, int $status_code = null, int $options )
wp_send_json_error( mixed $data = null, int $status_code = null, int $options )

wp_send_json_success 响应对象将始终具有 success 值为 的键 true。如果有任何东西传递给函数,它将被编码为 data 键的值。

wp_send_json_error 响应对象将始终具有 success 值为 的键 false。如果在参数中将任何内容传递给函数$data,它将被编码为 data 键的值。wp_send_json_error 会判断 $data 数据是否为 WP_Error 实例,如果是则输出 code 和 message 的数组。

wp_is_json_request

检查当前请求是 JSON 请求,或者返回 JSON 结果,这个函数没有参数,直接使用:wp_is_json_request()。如果 Accepts 或 Content-Type 标头包含 application/json 则为真,否则为假。

wp_is_jsonp_request

检查当前请求是 JSONP 请求,或者返回 JSONP 结果,这个函数没有参数,直接使用:wp_is_jsonp_request()。它首先判断 $_GET[‘_jsonp’] ,是否存在,然后通过函数 wp_check_jsonp_callback 判断它的值是否合法。

wp_check_jsonp_callback

1
wp_check_jsonp_callback( string $callback )

检查 JSONP 回调是否是有效的 JavaScript 回调名称。回调函数名称中只允许字母数字字符和点字符。这有助于缓解直接输出用户输入引起的 XSS 攻击。

本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」WordPress JSON数据处理函数
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号