Object 转Map类型记录

  /**
     *  将json,转为map
     * */
    public static Map returnMapByObject(Object object){
        Map maps = (Map) JSON.parse(returnJsonByObject(object));
        return maps;
    }

/**
     *  利用 Gson 转换 object(Entity) 序列化为json,字符串
     * */
    public static String returnJsonByObject(Object object){
        Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
        String jsonStr=gson.toJson(object);
        return jsonStr;
    }

在项目里,遇到了需要将Object对象转为Map的场景,于是我引用了上面的方法进行测试。下面图片就是Object对象

 在开始写的时候,没留意到时间那个格式问题,于是利用上面的Gson转成map后,直接成了“Nov 28, 2019 4:00:36 PM” 这种字符串格式,这使得我很烦恼啊,因为要执行sql操作,这种我找不到办法可以转成timestamp类型

于是有了下面这段代码

public static Map<String,Object> Obj2Map(Object obj) throws Exception{
        Map<String,Object> map=new HashMap<String, Object>();
        Field[] fields = obj.getClass().getDeclaredFields();
        for(Field field:fields){
            field.setAccessible(true);
            map.put(field.getName(), field.get(obj));
        }
        return map;
    }

用这个,我可以将上面截图里的时间转为"2019-11-28T06:52:09.724+0000" 这种格式,虽然说这种格式看起来也很不常见,但是还是可以处理的。

处理为常见格式,见我另一篇随笔。

 https://www.cnblogs.com/justtodo/p/11979815.html

原文地址:https://www.cnblogs.com/justtodo/p/11979729.html