标签:
鉴于json数据传输的使用,可以在实体类基础上设计基类
public abstract class BaseModel implements Serializable{ private static final long serialVersionUID=1L; //==============json===============// /** * 从JSONObject中读取字段 * @param obj */ public BaseModel parseJson(JSONObject obj){ return this; } /** * 从json中读取字段 * @param json * @throws JSONException */ public BaseModel parseJson(String json) throws JSONException{ return parseJson(new JSONObject(json)); } /** * 转成JSONObject * @throws JSONException */ public JSONObject toJSONObject() throws JSONException{ return new JSONObject(); } /** * 转成json格式 * @throws JSONException */ public String toJSON() throws JSONException{ return toJSONObject().toString(); } @Override public String toString() { try { return toJSON(); } catch (JSONException e) { } return ""; } /** * 判断字符串是否为空 * @param str * @return true - 全为空, false - 有一个不为空 */ public static boolean isEmpty(String ...str){ if (str == null) return true; for (int i=0;i<str.length;i++) if (str[i]!=null && !"".equals(str[i]))return false; return true; } }
实体类使用时继承即可
public class Model extends BaseModel implements Cloneable{ private String aa=null; private String bb=null; private String cc=null; public String getAa() { return aa; } public String getBb() { return bb; } public String getCc() { return cc; } //==============json=============// @Override public Model parseJson(JSONObject obj) { aa=obj.optString("aa"); bb=obj.optString("bb"); cc=obj.optString("cc"); return this; } @Override public JSONObject toJSONObject() throws JSONException { JSONObject o=new JSONObject(); o.put("aa", aa); o.put("bb", bb); o.put("cc", cc); return o; } public Model getClone(){ try { return (Model)this.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } return null; } }
标签:
原文地址:http://my.oschina.net/u/2314381/blog/375252