php在给安卓还有ios提供接口的时候,我们碰到这样的一个问题
例子:
php 关联数组
[
'aa' => '111',
'cc' => '222'
]
转json以后
{
"aa":"111",
"cc":"222"
}
但是如果某些情况下,php的关联数组为空,json_encode以后,json字符串就从{}变成了[],app客户端本身想要一个字典类型的数据结构,结果变成了数组,导致解析错误。
我想问下phper你们都是怎么处理这种问题的?我们目前的解决方法其实无非就是服务端php判断或者客户端判断,服务端判断比较现实一点,因为服务端知道本身应该是什么数据,如果数据为空的话可以new stdClass(),转json前把类型变成空对象,但是每次这种结构都要判断一下也是有点麻烦。
不知道有什么好的其他解决方案?
尽量规范些。
安卓和ios一般崩盘,一种是接口那边程序报错了,要不然就是解析json的时候用错类型,比方本来是解析字符串了,后面变成了数字型,然后就是你上面这种情况,一会有数据,一会没数据,没数据的时候照样当成有数据来解析,肯定报错。
我之前就问过我的同事,像安卓和ios像这种基础的数据判断完全是可以自己处理的,不过你接口要尽量规范就是了。