首页 > android如何应对接口数据的变化而导致的程序崩溃?

android如何应对接口数据的变化而导致的程序崩溃?

    daily_forecast: [
{
astro: {
sr: "06:14",
ss: "18:12"
},
cond: {
code_d: "103",
code_n: "104",
txt_d: "晴间多云",
txt_n: "阴"
},
date: "2016-03-15",
hum: "45",
pcpn: "0.0",
pop: "2",
pres: "1019",
tmp: {
max: "15",
min: "6"
},
vis: "10",
wind: {
deg: "126",
dir: "东南风",
sc: "3-4",
spd: "12"
}
}
   

比如json解析时,其中某个json字段没有了,再写get方法会有NullPointerException,该如何处理?


和后端沟通好数据结构?


用gson解析吧,某个字段没有值的话,gson解析成对象时会赋默认值


get到null的时候不会奔溃,是你用这个值的时候奔溃吧,你在get的时候判断下呗


Gson方式

Jackson方式


经验告诉我,能解析成String的绝不要解析为int、float、long


一般不会所有的数据都为null,把可能为null的数据处理下就可以了。


try catch 不行吗?

另外,JSON操作中除了get系列方法,还有opt系列方法,这个系列的方法主要应对可选参数的获取,当获取的参数不存在时,会返回默认值而不是抛出异常。

【热门文章】
【热门文章】