zoukankan      html  css  js  c++  java
  • FastJSON的使用方法

    FastJSON是阿里巴巴的出品的一个JSON类库,其功能强大,速度号称为当今最快,比net.sf.json,Google的GSON都要快。主要方法如下:

    public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
    public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
    public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean 
    public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
    public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 
    public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
    public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
    public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

    SerializeWriter:相当于StringBuffer
    JSONArray:相当于List<Object>
    JSONObject:相当于Map<String, Object>
     
    一些比较常用的方法:
    1.List<Map<String,Object>>转JSONArray:
    /**
         * list转json,首先需要得到JSON字符串
         * @param list
         * @return
         */
        public JSONArray listMap2JSONArray(List<Map<String,Object>> list){
            /*JSON.toJSONString(object, prettyFormat),这里的prettyFormat当为真时,
             * 得到的JSON为带格式的JSON,否则为普通JSON
             */
            return JSON.parseArray(JSON.toJSONString(list,true));
        }
    View Code

    注意到以上代码的JSON.toJSONString(object, prettyFormat)方法,该方法第二个参数为布尔值,当该值为真时,转化得来的JSON字符串为带格式的JSON:

    [
        {
            "age":"21",
            "gender":"male",
            "name":"Tom"
        },
        {
            "age":"21",
            "gender":"male",
            "name":"Tom"
        }
    ]
    View Code

    而当prettyFormat为假时,转化而来的是不带格式的JSON字符串:
    [{"age":"21","gender":"male","name":"Tom"},{"age":"21","gender":"male","name":"Tom"}]

    可以看到第一种格式的JSON字符串只是便于人们阅读而已。从便于计算机解析的角度来看,两者是一样的。

    2.JSONArray转List<Map<String,Object>>

     
        /**
         * JSONArray转listMap
         * @param jsonArray
         */
        public List<Map<String,Object>> JSONArray2listMap(JSONArray jsonArray){
            return JSON.parseObject(jsonArray.toJSONString(),new TypeReference<List<Map<String,Object>>>(){});
        }
    View Code

    通过TypeReference实现泛型。

    3.JSONObject转Map<String,Object>

        /**
         * JSON转Map
         * @param jsonObj
         * @return
         */
        public Map<String,Object> json2Map(JSONObject jsonObj){
            return JSON.parseObject(jsonObj.toJSONString(),new TypeReference<Map<String,Object>>(){});
        }
    View Code

    4.Map<String,Object>转JSONObject

        /**
         * Map转JSON
         * @param map
         * @return
         */
        public JSONObject map2JSON(Map<String,Object> map){
            return JSON.parseObject(JSON.toJSONString(map,true));
        }
    View Code

    5.JSON转List<JavaBean>

        /**
         * JSONArray转List<File>(存储JavaBean的List)
         * @param jsonArray
         * @return
         */
        public List<File> jsonArray2BeanList(JSONArray jsonArray){
            return JSON.parseArray(jsonArray.toJSONString(),File.class);
        }
    View Code
  • 相关阅读:
    Javascript 获得数组中相同或不同的数组元素
    JS 获取(期号、当前日期、本周第一天、最后一天及当前月第一、最后天函数)
    Intellij IDEA2020.2.3最新激活码激活破解方法(2020.11.26)
    【jQuery 区别】.click()和$(document).on("click","指定的元素",function(){});的区别
    pytorch repeat 和 expand 函数的使用场景,区别
    python小技巧
    提高GPU利用率
    pyinstaller 打包文件(包括使用管理员模式)
    frp 开机自启动
    AUC指标深度理解
  • 原文地址:https://www.cnblogs.com/cestlavie/p/5277903.html
Copyright © 2011-2022 走看看