php在给端提供接口,比如PC和安卓,ios等,如果返回json格式的数据,当返回数据的为数组,且key为字符串时,json化后将返回jsonObject,但是如果是空数组,有可能返回的就是jsonArray,数据结构不一致导致端解析json失败。
使用数据类型转换
$bar = array(); $foo = (object)$bar; echo json_encode($foo);
使用 ArrayObject
$arr = [
'jsonArray' => [
'21', '12', '13'
],
'jsonObject' => new \ArrayObject()
];
$jsonRet = json_encode($arr);
print_r($jsonRet);
输出结果:
{"jsonArray":["21","12","13"],"jsonObject":{}}空数组返回空对象
$arr = [
'jsonArray' => [
'21', '12', '13'
],
'jsonObject' => new \ArrayObject(),
'object' => new \stdclass(),
];
$jsonRet = json_encode($arr);
print_r($jsonRet);
输出结果:
{"jsonArray":["21","12","13"],"jsonObject":{},"object":{}} 强制类型转化
(array) - 转换为 数组(array) (object) - 转换为 对象(object)
传送门:数组和对象、XML之间的相互转化
本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn