[问题] 抓json资料 细分会闪退

楼主: aa1727 (帮我加油好吗)   2019-07-17 12:19:12
完整code : https://pastebin.com/513nvkim
如题
我要写一个抓旅游资讯的app
资料用政府的opendata
如果我把 if判断式拿掉,可以成功跑出所有资料
https://i.imgur.com/aKMmJsQ.jpg
但我想依照县市来分,所以抓地址前两个字来比对
我先随便打一个县市来测试
但if加上去就整个跑不出来还闪退
如果要按县市分有更好或是可行的办法吗?
作者: LPH66 (-6.2598534e+18f)   2019-07-17 12:27:00
闪退有抓到是哪里出了例外吗?
楼主: aa1727 (帮我加油好吗)   2019-07-17 12:41:00
我找不出原因 想不透为什么多一个判断就爆了 我循环改五次都会闪退
作者: kobe8112 (小B)   2019-07-17 13:24:00
你比对的方式有问题吧...改用String的indexOf如何
楼主: aa1727 (帮我加油好吗)   2019-07-17 13:36:00
我等等试看看 感谢回复!
作者: kobe8112 (小B)   2019-07-17 13:44:00
仔细看了一下,你先确定你每次抓的字串a,既不是空值,
作者: gcobc12632 (Ted)   2019-07-17 13:47:00
你抓的字串a 如果字串长度小于2的话 就会闪退
作者: kobe8112 (小B)   2019-07-17 13:48:00
长度也大于2吧,应该是indexoutofbound的例外或是NullPointerException
作者: zcbxvsdf (东北一头羊)   2019-07-17 19:15:00
先学会logcat吧,版上通灵人士已经不多了
作者: y3k (激流を制するは静水)   2019-07-18 00:54:00
String a="台";a.charAt(1);就会爆炸 在比对任何外来的资讯前都要先确保它的长度或内容是符合你预期的另外看你的code 为什么不直接比对=="台东"?XD
作者: panjiongkai (想念放在心里)   2019-07-18 01:02:00
按县市分或许可以考虑用zipCode应该不能用=="台东"因为是一串地址XD 要这样比对的话或许可以用startswith()
楼主: aa1727 (帮我加油好吗)   2019-07-18 11:47:00
感谢,靠各位回复 已经解决了 小弟比较菜多多见谅
作者: y3k (激流を制するは静水)   2019-07-19 00:56:00
对耶 没想到orz
作者: rogerlarger (宅)   2019-08-07 01:18:00
建议用"台东".equals (a)避免npe地址包含台东的话用a.contains("台东"),但要先检查a不为null各县市的话,妳先抓前两个字可以用b=a.subString(0,2);然后switch case

Links booklink

Contact Us: admin [ a t ] ucptt.com