• 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
  • 相关阅读:
    android应用私有存储文件的写入与读取-openFileInput 和 openFileOutput
    android 8种对话框(Dialog)使用方法汇总
    Gradle环境变量的配置
    Activity标题(title)的显示和隐藏
    Android Studio配置Android Annotations框架详解--说说那些坑
    Android如何防止apk程序被反编译
    Android APK反编译 apktool使用教程
    关于Installation error: INSTALL_FAILED_NO_MATCHING_ABIS的解决方法
    Android解决NDK not configured问题
    Android SDK在线更新镜像服务器
  • 原文地址:https://www.cnblogs.com/cestlavie/p/5277903.html
Copyright © 2020-2023  润新知