使用Gson解析管理类

来源:互联网 发布:怎样复制淘宝链接 编辑:程序博客网 时间:2024/06/06 07:34


public class ParseManger {


private Gson gson = new Gson();//使用该解析方法要导入Gson jar包


private static ParseManger parse = new ParseManger();

private ParseManger() {
}// 设置为单列模式


public static ParseManger getInstance() {


return parse;
}


/**
* 账号信息 该类似方法用于解析 json串返回的类 形式
*/
public AccountInfo parseAccount(String str) {
AccountInfo account = null;
try {
if (IsNull.isNull(str))
return account;
JSONObject obj = new JSONObject(str);
account = gson.fromJson(obj.toString(), AccountInfo.class);
} catch (Exception e) {
e.printStackTrace();
}
return account;

}//AccountInfo 类是整个json串结构书写的java bean

//解析json串返回的是集合类型

public <T> List<T> getList(String result, Class<T> c) {//c为解析传入的json串是集合的类
List<T> list = null;
try {
// if (IsNull.isNull(result)) return list;
JSONObject obj = new JSONObject(result);
JSONArray array = obj.getJSONArray("rows");

if (array == null || array.length() <= 0)
return list;
list = new ArrayList<T>();
for (int i = 0; i < array.length(); i++) {
list.add(gson.fromJson(array.getJSONObject(i).toString(), c));
}

int total = obj.getInt("total");
} catch (Exception e) {
e.printStackTrace();
}
return list;
}



0 0