接口开发中,常见的array进行json_encode后输出格式统一的问题

By | 2015 年 11 月 18 日

在java中数组和对象是不一样的,然而在PHP中可以都是array,如array(1,2,3,4) 和 array('a'=>'1','b'=>'2')

这时候,进行json_encode,
json_encode(array(1,2,3,4)) 输出 [1,2,3,4]
json_encode(array('a'=>'1','b'=>'2')) 输出 {"a":"1","b":"2"}

看个特殊的

json_encode(array('0'=>1,'1'=>2)) 输出 [1,2]

json_encode(array('1'=>1,'2'=>2)) 输出 {"1":1,"2":2}

其实吧对于后端php来说,仍然不需要区分array,然而当为了统一接口输出,以及空数据的时候的输出呢
json_encode(array()) 输出 [] 没问题,但是{} 怎么输出呢

json_encode((object)array()) 输出{}

这样客户端在解析的时候就可以统一处理了。


发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据