如何在Android开发中使用JavaBean---FastJson非官方使用指南
Posted TaylorHere
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android开发中使用JavaBean---FastJson非官方使用指南相关的知识,希望对你有一定的参考价值。
如何在android开发中使用JavaBean
FastJson非官方使用指南
什么是JavaBean
JavaBean本质上就是一个用来存储数据的类,每个javabean中有很多private 的属性,以及它们的geter、seter,当然你也可以自定一些与数据相关的方法,但这是不被推荐,因为这会造成数据体和逻辑混合,耦合太强。
在android中,JavaBean属于Model层(当然也可以独立为Bean层),每个Bean只包含属性和它们的读写方法,比如一个典型的用户Bean:
导入FastJson
compile 'com.alibaba:fastjson:VERSION_CODE'
public class UserBean
private String UserName;
private String UserPwd;
public void setUserName(String name)
this.UserName=name;
public String getUserName()
return this.UserName;
public void setUserPwd(String Pwd)
this.UserPwd=Pwd;
public String getUserPwd()
return this.UserPwd;
这个典型的用户数据Bean包含了两个属性以及它们的读取函数。
怎样高效使用JavaBean
现在我们看看怎么使用这个JavaBean,假设我们从服务器拿到的数据是这样的:
"UserName":"Taylor",
"UserPwd":"Here"
这里是json格式的数据,并且在开发过程中Android和后端会有一个协议:数据名称要一样
这是很重要的一件事,因为当json格式的键名和JavaBean中的属性名完全一致的时候,我们便可以使用FastJson这样的json解析神器将json直接映射到JavaBean,一般代码如下:
UserBean bean=JSON.parseToBean(json,UserBean.class);
没错,只要写一句话便能完成json的解析。
感谢阿里。
接下来我们看点更加复杂的例子
假设我们的服务器给我这样的数据
[
"UserName":"user1",
"UserPwd":"***"
,
"UserName":"user2",
"UserPwd":"***"
,
"UserName":"user3",
"UserPwd":"***"
,
"UserName":"user4",
"UserPwd":"***"
,
]
这是一个包含了4个json对象的json数组,每个json对象依然对映到之前写的UserBean
解析这样的数据我们会这样写
List<UserBean> jsonList =
JSON.parseTOList(json,UserBean.class);
接着我们再看看JSON对象内部带有JSON对象数组的情况
"user":"taylor",
"Titles":
[
"title":"1",
"subtitle":"2"
,
"title":"1",
"subtitle":"2"
,
"title":"1",
"subtitle":"2"
,
]
为了解析这样的数据我们需要构造一个持有列表属性的JavaBean和一个titles的JavaBean,如下:
public class TitleBean
private String user;
private List<TitleListBean> Titles;
//省去geter和seter方法
public class TitleListBean
private String title;
private String subtitle;
//省去geter和setter方法
注意在json代码中列表的键要和TitleBean中的List对象的名字一样。
接着使用FastJson解析:
TitleBean bean=JSON.parseToBean(json,TitleBean.class);
先写这么多。
学疏才浅,望指点。
---Taylor
以上是关于如何在Android开发中使用JavaBean---FastJson非官方使用指南的主要内容,如果未能解决你的问题,请参考以下文章
Android -------- kotlin插件神器Json直接生成javaBean
Android studio 插件之 GsonFormat (自己主动生成javabean)