之前写了关于org.json 以及gson解析 json格式数据的相关博文,今天再补充一下使用阿里巴巴工程师类库fastjson解析json数据,fastjson和谷歌的gson很像,但是比谷歌的gson做的优化更好,因为至少我在测试的时候并没有出现谷歌gson包的Java泛型擦除的问题,
即 com.google.gson.JsonSyntaxException:
java.lang.IllegalStateException:
Expected Person but was BEGIN_OBJECT 等类似的问题
和之前一样,仍然将fastjson解析常用的四种格式的方法写成了一个工具类,直接上工具类源码:
package com.zml.utils;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.google.gson.Gson;
import com.zml.pojo.Person;/**
-
@author 郑明亮
-
@Time:2016 年 7 月 18 日 上午 9:53:16
-
@version 1.0
*/
public class FastJsonTools {public FastJsonTools() {
throw new UnsupportedOperationException("不能被实例化");
}/**TODO 转换成 json 格式的字符串
- @param object 要转换的对象
- @return
*/
public static String createJsonString(Object object) {
String jsonString = JSON.toJSONString(object);
return jsonString;
}
/**将 json 字符串转换为指定的 bean 对象
- @param jsonString
- @param cls 要转换为对象的类型
- @return
*/
public static <T> T createJsonBean(String jsonString, Class<T> cls) {
T t = JSON.parseObject(jsonString, cls);
return t;
}
/**将 json 字符串转换为 List<T>
- @param jsonString
- @param cls
- @return
*/
public static <T> List<T> createJsonToListBean(String jsonString,
Class<T> cls) {
List<T> list = null;
list = JSON.parseArray(jsonString, cls);
return list;
}
/**将 json 字符串转换为 List<Map<String,Object>>
- @param jsonString
- @return
*/
public static List<Map<String, Object>> createJsonToListMap(
String jsonString) {
List<Map<String, Object>> list2 = JSON.parseObject(jsonString,
new TypeReference<List<Map<String, Object>>>() {
});
return list2;
}
/**将 json 字符串转换为 List<String>
- @param jsonString
- @return
*/
public static List<String> createJsonToListString(String jsonString) {
List<String> list2 = JSON.parseObject(jsonString,
new TypeReference<List<String>>() {
});
return list2;
}
}
FastJson解析Android客户端源码下载
关于Gson解析的博文 请点这里
关于org.json解析的博文 请点这里
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于