zoukankan      html  css  js  c++  java
  • Android--将实体类转化成Json和Map的基类

    package com.newair.talk.base;
    
    import android.text.TextUtils;
    
    
    import com.google.gson.Gson;
    
    import java.lang.reflect.Field;
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 公共请求
     */
    public class BaseRequest {
        /**
         * 将实体类转换成请求参数,json字符串形式返回
         *
         * @return
         */
        public String getJsonParams() {
            String jsonStr = new Gson().toJson(this);
            if (TextUtils.isEmpty(jsonStr)) {
                jsonStr = "";
            }
    
            return jsonStr;
        }
    
        /**
         * 将实体类转换成请求参数,以map<k,v>形式返回
         *
         * @return
         */
        public Map<String, String> getMapParams() {
            Class<? extends BaseRequest> clazz = this.getClass();
            Class<? extends Object> superclass = clazz.getSuperclass();
    
            Field[] fields = clazz.getDeclaredFields();
            Field[] superFields = superclass.getDeclaredFields();
    
            if (fields == null || fields.length == 0) {
                return Collections.emptyMap();
            }
    
            Map<String, String> params = new HashMap<String, String>();
            try {
                for (Field field : fields) {
                    field.setAccessible(true);
                    params.put(field.getName(), String.valueOf(field.get(this)));
                }
    
                for (Field superField : superFields) {
                    superField.setAccessible(true);
                    params.put(superField.getName(), String.valueOf(superField.get(this)));
                }
    
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            }
    
            return params;
        }
    }
  • 相关阅读:
    Evaluation
    Version
    bzoj4184-shallot
    jQuery 获取并设置 CSS 类
    jQuery 删除元素
    jQuery 添加元素
    jQuery 设置内容和属性
    jQuery
    jQuery Chaining
    CI 框架增加公用函数-如何使用Helper辅助函数
  • 原文地址:https://www.cnblogs.com/819158327fan/p/5484816.html
Copyright © 2011-2022 走看看