在Android应用开发中,APP端与server交互的数据一般是json格式的数据,那么为了方便操作,我们通常会用json解析框架来帮助我们进行数据操作。经常使用的有Gjson和fastjson框架。在项目中用到了fastjson解析数据,当然前提是要准备要对应的jar包工具,把工具类(主要是json数据与实体bean之间的转换操作)贴出来方便以后使用:
public class FastJsonTools {
/**
* 用fastjson 将json字符串解析为一个 JavaBean
*
* @param jsonString
* @param cls
* @return
*/
public static <T> T getJson(String jsonString, Class<T> cls) {
T t = null;
try {
t = JSON.parseObject(jsonString, cls);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return t;
}
/**
* 用fastjson 将json字符串 解析成为一个 List<JavaBean> 及 List<String>
*
* @param jsonString
* @param cls
* @return
*/
public static <T> List<T> getArrayJson(String jsonString, Class<T> cls) {
List<T> list = new ArrayList<T>();
try {
list = JSON.parseArray(jsonString, cls);
} catch (Exception e) {
// TODO: handle exception
}
return list;
}
/**
* 用fastjson 将json字符串 解析成为一个 List<JavaBean> 及 List<String>
*
* @param jsonString
* @param cls
* @return
*/
@SuppressWarnings("unchecked")
public static <T> List<T> getArrayJson(String jsonString) {
List<T> list = new ArrayList<T>();
try {
list = (List<T>) JSON.parseArray(jsonString);
} catch (Exception e) {
// TODO: handle exception
}
return list;
}
/**
* 用fastjson 将jsonString 解析成 List<Map<String,Object>>
*
* @param jsonString
* @return
*/
public static List<Map<String, Object>> getListMap(String jsonString) {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
try {
// 两种写法
// list = JSON.parseObject(jsonString, new
// TypeReference<List<Map<String, Object>>>(){}.getType());
list = JSON.parseObject(jsonString, new TypeReference<List<Map<String, Object>>>() {
});
} catch (Exception e) {
// TODO: handle exception
}
return list;
}
}