前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP json_encode 的使用方法

PHP json_encode 的使用方法

作者头像
hedeqiang
发布2019-12-17 21:52:03
1.5K0
发布2019-12-17 21:52:03
举报
文章被收录于专栏:LaravelCodeLaravelCode

今天在进行接口加签的时候,发现一个问题,数据一直加签失败; 再查找一番原因后发现原来 json_encode 对反斜杠进行了转义,导致数据一直加签失败 解决办法如下:

代码语言:javascript
复制
json_encode($value,JSON_UNESCAPED_SLASHES );

这样就解决了反斜杠转义的问题。 仔细说明下 json_encode 的使用方法:

代码语言:javascript
复制
string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )
  • value : 待编码的 value ,除了 resource 类型之外,可以为任何数据类型。所有字符串数据的编码必须是 UTF-8。
  • options: 由以下常量组成的二进制掩码: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED_UNICODE, JSON_PARTIAL_OUTPUT_ON_ERROR。 关于 JSON 常量详情参考 JSON 常量页面。
  • depth : 设置最大深度。 必须大于0 返回值: 成功则返回 JSON 编码的 string 或者在失败时返回 FALSE 。

默认情况下 json_encode 只能传入一个常量,如果想同事传入多个常量怎么办? 一些常量对应的数字如下:

代码语言:javascript
复制
JSON_HEX_TAG => 1
JSON_HEX_AMP => 2
JSON_HEX_APOS => 4
JSON_HEX_QUOT => 8
JSON_FORCE_OBJECT => 16
JSON_NUMERIC_CHECK => 32
JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256
JSON_PARTIAL_OUTPUT_ON_ERROR => 512
JSON_PRESERVE_ZERO_FRACTION => 1024

因此可以写成如下方式: JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320

代码语言:javascript
复制
json_encode($value,320 );               
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档