Json数据解析之FastJson解析

  |   0 评论   |   264 浏览

    之前写了关于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;
    	}
    
    	
    
    }
    

    Json_Gson_FastJson解析服务器端源码 下载

     

     

    FastJson解析Android客户端源码下载

     

    关于Gson解析的博文   请点这里

     

    关于org.json解析的博文  请点这里

     

     

     

     

    评论

    发表评论

    validate