位置: 编程技术 - 正文

php json_encode与json_decode详解及实例

编辑:rootadmin

推荐整理分享php json_encode与json_decode详解及实例,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

一、json_encode()

该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子:

结果为

再看一个对象转换的例子:

结果为

由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB编码,或者外文使用ISO--1编码的时候,这一点要特别注意。

二、索引数组和关联数组

PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。

由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。

比如,现在有一个索引数组

结果为:

如果将它改为关联数组:

结果就变了:

注意,数据格式从"[]"(数组)变成了"{}"(对象)。

如果你需要将"索引数组"强制转化成"对象",可以这样写

或者

php json_encode与json_decode详解及实例

三、类(class)的转换

下面是一个PHP的类:

现在,对这个类的实例进行json转换:

输出结果是

可以看到,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。

四、json_decode()

该函数用于将json文本转换为相应的PHP数据结构。下面是一个例子:

通常情况下,json_decode()总是返回一个PHP对象,而不是数组。比如:

结果就是生成一个PHP对象:

如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:

结果就生成了一个关联数组:

五、json_decode()的常见错误

下面三种json写法都是错的,你能看出错在哪里吗?

对这三个字符串执行json_decode()都将返回null,并且报错。

第一个的错误是,json的分隔符(delimiter)只允许使用双引号,不能使用单引号。第二个的错误是,json名值对的"名"(冒号左边的部分),任何情况下都必须使用双引号。第三个的错误是,最后一个值之后不能添加逗号(trailing comma)。

另外,json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

php判断是否连接上网络的方法实例详解 本文实例讲述了PHP判断是否连接上网络的方法。分享给大家供大家参考。具体实现方法如下:首先写个函数functionvarify_url($url){$check=@fopen($url,"r");if($check)

Thinkphp整合微信支付功能 先上效果图:我要告诉你我这一篇文章写的是微信支付之中的(普通商户而非服务商商户的统一下单JSPI)微信支付:其实自己整合SDK失败了,用了一个

Thinkphp 中 distinct 的用法解析 TP中distinct()的用处主要是去除重复的值在Thinkphp手册中也详细说明了(链接:

标签: php json_encode与json_decode详解及实例

本文链接地址:https://www.jiuchutong.com/biancheng/297045.html 转载请保留说明!

上一篇:php页面跳转session cookie丢失导致不能登录等问题的解决方法(php页面跳转方法)

下一篇:php判断是否连接上网络的方法实例详解(php判断是否连接数据库)

  • 增值税建筑服务税率变化时间
  • 增值税发票超过3个月可以作废吗
  • 不征收增值税的有哪些
  • 缴纳附加税会计科目怎么做
  • 建筑业增值税税率2022
  • 个体工商户个税怎么申报
  • 开发票需要填银行吗
  • 小规模交社保有人数限制吗
  • 预收款方式销售货物
  • 农产品增值税抵扣政策文件
  • 取得虚开增值税专用发票罪
  • 进口增值税的计税价格为
  • 一般纳税人支出的钱没有发票年底怎么处理
  • 主营业务成本计算公式是什么
  • 企业之间现金换承兑合法吗
  • 公司销售二手车账务处理
  • 应缴纳的所得税税额
  • 汽车修理费入账
  • 股权转让的公允价值
  • 应收账款的借方负数表示什么
  • 会计低值易耗品有哪些
  • 认证费计入什么科目
  • 补贴收入是否缴税
  • 知识产权代理公司前景如何
  • 电脑上加速网页的加速器
  • linux中使用less命令分屏查看
  • windows7旗舰版好用吗?
  • 汽车销售公司取名字参考大全图片
  • 居民企业应纳税额
  • Fort Rock Valley Historical Homestead博物馆,俄勒冈 (© Prisma by Dukas Presseagentur GmbH/Alamy)
  • form表单提交数组
  • 出口货物的出口日期以
  • 封装和调用
  • 增长gdp是什么意思
  • 增值税减免附加税怎么处理
  • fasternet高效上采样模块
  • php wechat
  • 命令行修改mbr
  • 职工福利费属于短期薪酬吗
  • 销售退回的会计科目
  • 员工的交通费发票可以报销嘛
  • phpcms视频教程
  • phpcms文档
  • java线程的执行体
  • 劳务公司社保手续办理
  • 清算汇缴报表填写范本
  • 报账单大写金额负数填写方式
  • sqlserver2012安装好了桌面没有图标
  • mysql 优化口诀
  • 原材料的对应账户有哪些
  • 什么叫做增值税的新增价值呢
  • 残疾人工资加计扣除包括社保吗
  • 高速过路费发票图片
  • 未交增值税账务处理
  • 员工报销的话费要缴纳个税吗?
  • 小规模纳税人劳务费税率
  • 递延收益属于哪个报表项目
  • 员工意外险的费用怎么算
  • 资产负债表所有者权益和利润表关系
  • 医院医保会计的岗位职责
  • 公认会计原则是哪个国家的?
  • 会计审核外来凭证怎么做
  • Win10 Mobile 10536预览版用得越久越卡顿是怎么回事?
  • winpatrol.exe - winpatrol是什么进程
  • 没有推送windows11
  • gwsystemservice.exe是什么进程 有什么作用 gwsystemservice进程查询
  • 电脑win7一开机就弹出各种广告窗口怎么办
  • get mac
  • islp2sta.exe - islp2sta是什么进程 有什么作用
  • lsass exe
  • 批处理 计算
  • cocos3.0
  • js怎么做网页
  • jquery网站开发
  • 象棋软件编程
  • activity生命周期包含哪几种状态
  • 资产划转是什么会计科目
  • 广东省国家税务局电子发票系统,网络设置
  • 税控服务费抵扣填哪
  • 云南省税务局网上办税服务厅官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设