• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 知识库 知识库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

2022年01月05日发布php空数组怎么转json对象

武飞扬头像
xhjyxxw
帮助0

知行礼动

大家好,今日小科来聊聊一篇关于2022年01月05日整理发布:php空数组怎么转json对象的文章,现在让我们往下看看吧!

将php空数组转换为json对象的方法:1。使用“json_FORCE_OBJECT”转换json对象;2.使用数据类型转换将空数组转换为json对象;3.使用ArrayObject将空数组转换为json对象。

PHP json_encode将一个空数组转换为一个对象

问题:的描述

当php向客户端提供接口时,比如PC、Android ios,如果返回json格式的数据,当返回的数据是数组,关键字是字符串时,json之后会返回json对象。但是如果是空数组,可能是jsonArray的数据结构不一致,导致客户端解析JSON失败。

例如:

$arr=[

id'=123。

名字='安德鲁',

];

$ jsonRet=JSON _ encode($ arr);

print _ r($ JSonret);输出:

{

id': 123,

姓名' : '安德鲁'

}但如果是:

$ arr=[];

$ jsonRet=JSON _ encode($ arr);

print _ r($ JSonret);输出:

[

]数组为空时怎么可能是JsonObject?

方法1:

使用JSON_FORCE_OBJECT

$ arr=[];

$jsonRet=json_encode($arr,JSON _ FORCE _ OBJECT);

print _ r($ JSonret);这种方法有一个缺点,例如:

$arr=[

jsonArray'=[

'21', '12', '13'

],

jsonObject'=[]

];

$jsonRet=json_encode($arr,JSON _ FORCE _ OBJECT);

print _ r($ JSonret);输出:

{

jsonArray': {

'0': '21',

'1': '12',

'2': '13'

},

jsonObject': {

}

}原来的jsonArray也被JSON对象化了,局部的改动不能影响全局。

方法二

使用数据类型转换

$bar=数组;

$foo=(对象)$ bar

echo JSON _ encode($ foo);方法3(推荐)

使用数组对象

$arr=[

jsonArray'=[

'21', '12', '13'

],

jsonObject'=new \ArrayObject

];

$ jsonRet=JSON _ encode($ arr);

print _ r($ JSonret);输出:

{

jsonArray': [

'21',

'12',

'13'

],

jsonObject': {

}

这篇好文章是转载于:知行礼动

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 知行礼动
  • 本文地址: /news/detail/tanhbggaic
系列文章
更多 icon
同类精品
更多 icon
继续加载