之前写了关于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 zml2015 * @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解析客户端源码下载

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

Q.E.D.