Android中,在拿到api提供的json后,textView设置text,ListView的Adapter里设置数据,都是直接用这个json对象里拿字符串,拿jsonArray,全程没有用JavaBean。自己感觉这样使用是蛮简单的,但是不知道会有什么潜在的问题,求指教。
Android中,在拿到api提供的json后,textView设置text,ListView的Adapter里设置数据,都是直接用这个json对象里拿字符串,拿jsonArray,全程没有用JavaBean。自己感觉这样使用是蛮简单的,但是不知道会有什么潜在的问题,求指教。
本人射手座,对IDE使用有洁癖,势必要快捷键顺手、补全代码容易....
言归正传,jsonArray.get***(index)
,是有风险的,如果jsonArray
就是数组,长度不够你exception;jsonObject.get**(key)
,如果key
不存在,也有exception
抛出.... 如果楼主这么写,势必万山遍野的try...catch...
烦不烦? 虽然jsonObject
有opt**(key)
方法,但最好还是加try catch
。
如果多个界面使用这个json
,每个adapter
里都要jsonObj.get**(key)
,万一服务器改字段,你就只能每个Activity
去找这个json
,改代码了....如果用javaBean
,IDE能直接修改整个工程javaBean
成员名。
还有debug
和代码补全
问题,javaBean
调用成员or函数,可以用代码补全。例如要用user.name
,打user.n
+快捷键,n
开头的成员/函数就弹出来了,是不是很方便? 如果从json
中获取某字段,呵呵,打json.g
+快捷键->json.get**
还要选字段类型->json.getString("")
此时key
还得自己写字符串....万一写错了.... 想想都烦
楼主乖乖用javaBean
吧!json
直接转javaBean
可以用Gson
或者fastjson
,两个库有各自优缺点,自行体会。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
如果有持久化需求的话,这种做法就非常不好, 根本用不了orm。
从代码可读性来讲,也不推荐这么做,毕竟你看见的都是jsonObject,很容易头晕。而且哪天服务端字段改了,就只好在那哭了。
综上所述,非常不推荐这样的做法。