Android中使用jsonObject,不用javaBean,会有问题么?

Android中,在拿到api提供的json后,textView设置text,ListView的Adapter里设置数据,都是直接用这个json对象里拿字符串,拿jsonArray,全程没有用JavaBean。自己感觉这样使用是蛮简单的,但是不知道会有什么潜在的问题,求指教。

阅读 5.1k
3 个回答

如果有持久化需求的话,这种做法就非常不好, 根本用不了orm。
从代码可读性来讲,也不推荐这么做,毕竟你看见的都是jsonObject,很容易头晕。而且哪天服务端字段改了,就只好在那哭了。
综上所述,非常不推荐这样的做法。

有利于代码的重用,代码的封装,增加安全性 同时这也是一种面向对象的思想。

本人射手座,对IDE使用有洁癖,势必要快捷键顺手、补全代码容易....

言归正传,jsonArray.get***(index),是有风险的,如果jsonArray就是数组,长度不够你exception;jsonObject.get**(key),如果key不存在,也有exception抛出.... 如果楼主这么写,势必万山遍野的try...catch... 烦不烦? 虽然jsonObjectopt**(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,两个库有各自优缺点,自行体会。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题