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,该如何处理?
经验告诉我,能解析成String的绝不要解析为int、float、long
用gson解析吧,某个字段没有值的话,gson解析成对象时会赋默认值
和后端沟通好数据结构?
一般不会所有的数据都为null,把可能为null的数据处理下就可以了。
get到null的时候不会奔溃,是你用这个值的时候奔溃吧,你在get的时候判断下呗
try catch
不行吗?
另外,JSON操作中除了get系列方法,还有opt系列方法,这个系列的方法主要应对可选参数的获取,当获取的参数不存在时,会返回默认值而不是抛出异常。