与安卓对接需要注意那些呢
在与安卓对接时,接口明明做判断了打印数据返回值也是json数据,但是每天第一次打开该接口时会出现报错情况,导致app崩溃,安卓打印该接口时是空,说明返回值 要么为空或者不是json数据,再就是结构变了,该怎么避免这种情况呢,现在也不清除问题出现在哪,如果通过api访问每次都有数据而且也正确,希望各位大佬帮忙看下
关于 LearnKu
跟安卓对接的时候,
json格式特别要注意 就是因为PHP不区分数组和字典的,所以对于一个PHP的数组 在encode的时候,可能返回的是字典 也可能是数组。这样会引起app类型不匹配导致崩溃。 举个例子1. 字典和数组返回不匹配
上面的结构 正常情况下是输出一个字典对象,
{"id":1,"name":"33"}app 期望的就是这种结构。但是有一天突然你可能查的记录不存在。数据就是空的了。
上面的结果就是
[]返回的是一个数组了。app解析不了这个结构,就会崩溃。通常会返回前判断上面就正常返回一个
{}空对象,而不是空数组。2. 数据类型不匹配
APP使用的是强类型语言,所以对于类型都是指定的。接口返回的数据类型也要固定,不然也会引起app崩溃
最常见的,大家在查数据库的时候,有的数据没默认值 就是
null但是输出的时候没格式化,直接返回了。app解析就出错,所以需要在输出的时候,对每个字段进行必要的类型转换。