文档章节

将Object转换成Map

皮蛋瘦肉粥里没有粥
 皮蛋瘦肉粥里没有粥
发布于 2015/03/24 14:04
字数 207
阅读 38
收藏 0
点赞 0
评论 0

/**
     * 获取要查询对象的方法和值,以Map返回
     * @param  model
     *            实体类
     * @return
     * @throws  NoSuchMethodException
     * @throws  IllegalAccessException
     * @throws  IllegalArgumentException
     * @throws InvocationTargetException
     */
    public static Map<String, String> getSearchProperty(Object model)
            throws NoSuchMethodException, IllegalAccessException,
            IllegalArgumentException, InvocationTargetException {
        Map<String, String> resultMap = new HashMap<String, String>();
        // 获取实体类的所有属性,返回Field数组
        Field[] field = model.getClass().getDeclaredFields();
        for (int i = 0; i < field.length; i++) { // 遍历所有属性
            String name = field[i].getName(); // 获取属性的名字
            // 获取属性的类型
            String type = field[i].getGenericType().toString();
            if (type.equals("class java.lang.String")) { // 如果type是类类型,则前面包含"class ",后面跟类名
                // 生成get方法
                Method m = model.getClass().getMethod(
                        "get" + UpperCaseField(name));
                String value = (String) m.invoke(model); // 调用getter方法获取属性值
                if (value != null) {
                    resultMap.put(name, value);
                }
            }
        }
        return resultMap;
    }


/**
     * 将属性首字母转化为大写
     *
     * @param fieldName
     *            属性名称
     * @return
     */
    private static String UpperCaseField(String fieldName) {
        fieldName = fieldName.replaceFirst(fieldName.substring(0, 1), fieldName
                .substring(0, 1).toUpperCase());
        return fieldName;
    }

© 著作权归作者所有

共有 人打赏支持
皮蛋瘦肉粥里没有粥
粉丝 11
博文 43
码字总数 20373
作品 0
朝阳
后端工程师
JQuery中ajax不能解析json

Action: @Controller @Scope("prototype") @Namespace("/") @ParentPackage("json-default") public class OaAction extends ActionSupport private String name; private String pass; pri......

路人丁语 ⋅ 2015/10/11 ⋅ 6

将JAVA对象转换成JSON字符串

[java] view plain copy package com.jetsum.util; import java.io.StringReader; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import java.util.......

开源中国-首席码农 ⋅ 2016/03/22 ⋅ 0

json解析:[2]fastjson 使用

利用阿里的fastjson包对对象进行 json的转化与解析,本篇为第二篇,第一篇讲述的是利用gson进行json数据解析,地址:jingyan.baidu.com/article/e8cdb32b619f8437042bad53.html 常用类型 类型...

John-HZ ⋅ 2015/02/05 ⋅ 0

JSON-lib框架,转换JSON、XML不再困难

Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。 一、 准备工作 1、 首先要去官方...

ibm_hoojo ⋅ 2011/04/21 ⋅ 0

Java集合系列之Connection与Map接口宏观把控

Java集合系列之Connection与Map接口宏观把控 Hello,大家好,元旦快到了,这里提前祝大家元旦快乐,出行注意安全,回家的小伙伴能早日和家人见面,开开心心过元旦。Ok,切入主题,这篇文章,我...

⋅ 2017/12/29 ⋅ 0

Action类中获取servlet api

一 通过ActionContext类获取 下面获取的request和session都是map对象 或者还有一种方式 该类提供了如下几种方法: Object get(Object key) 等同于调用HttpServletRequest的getAttribute(Stri...

iborder ⋅ 2016/12/19 ⋅ 0

HashMap遍历技巧

假设map是HashMap的对象,对map进行遍历可以使用下面两种方式: 第一种:得到元素的集合,然后进行运算,元素类型是Map.Entry。 Object[] o = map.entrySet().toArray(); //得到元素集合,然...

陈招林 ⋅ 2010/03/24 ⋅ 0

fastjson的JsonObject 初始化方法参数的问题,能否使用泛型

我在使用fastjson过程中,发现一个使用起来不是很方便的地方,请各位看官闲于时间帮忙看一下 使用场景: 从 redis 中通过 hgetAll 取出一个用户对象,返回一个Map userMap; 然后我想通过 Us...

蓬莱渡劫 ⋅ 2015/10/23 ⋅ 1

【Java】各个JSON技术的比较

一 、各个JSON技术的简介和优劣 1. json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括commons-beanutils.jar,commons-collectio...

鴿神丶 ⋅ 2016/07/22 ⋅ 0

JSON-lib框架,转换JSON、XML不再困难

JSON-lib框架,转换JSON、XML不再困难 Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对...

DavidBao ⋅ 2015/05/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对于程序员的招聘问题,作为软件人的一些吐槽和建议

作为软件人,找工作有时候似乎挺苦逼的。 说真的,让我去掉前面这句中“似乎”二字吧。就是苦逼!很多人都曾抱怨处在招聘的一方很糟糕——我们没有任何可靠的方式来甄别会写代码并且写得好的...

老道士 ⋅ 18分钟前 ⋅ 0

HDFS原理学习

一、概述 1、 Hadoop整合了众多的文件系统,首先提供了一个高层的文件系统抽象org.apache.hadoop.fs.FileSystem。然后有各个文件系统的实现类。 2、Hadoop是JAVA编写的,不同文件系统之间的交...

cjxcloud ⋅ 22分钟前 ⋅ 0

Linux下MySQL表名不区分大小写的设置方法(抄袭别人的)

Linux下MySQL表名不区分大小写的设置方法 MySQL表名不区分大小写的设置方法 在用centox安装mysql后,把项目的数据库移植了过去,发现一些表的数据查不到,排查了一下问题,最后发现是表名的大...

随风而浮沉 ⋅ 27分钟前 ⋅ 0

ubuntu下安装宋体simsun

sudo cp simsun.ttc /usr/share/fonts cd /usr/share/fonts sudo chmod 644 simsun.ttc 更新字体缓存: 代码: sudo mkfontscale 代码: sudo mkfontdir 代码: sudo fc-cache -fsv 安装chrome扩......

wangxuwei ⋅ 28分钟前 ⋅ 0

利用 ssh 传输文件

Linux 下一般可以用 scp 命令通过 ssh 传送文件: #把服务器上的 /home/user/a.txt 发送到本机的 /var/www/local_dir 目录下scp username@servername:/home/user/a.txt /var/www/local_dir...

大灰狼时间 ⋅ 38分钟前 ⋅ 0

web3j教程:android和java程序员如何使用web3j开发区块链以太坊

如何使用web3j为Java应用或Android App增加以太坊区块链支持,本教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤...

智能合约 ⋅ 今天 ⋅ 0

web3j开发java或android以太坊智能合约快速入门

web3j简介 web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 可以通过它进行以太坊区块链...

笔阁 ⋅ 今天 ⋅ 0

一起读书《深入浅出nodejs》-异步I/O

异步I/O “异步”这个名词其实很早就诞生了,但它大规模流行却是在Web 2.0浪潮中,它伴随着AJAX的第一个A(Asynchronous)席卷了Web。 为什么要异步I/O 关于异步I/O为何在Node里如此重要,这与...

小草先森 ⋅ 今天 ⋅ 0

JVM各种问题

1、如果启动什么都不设,会怎样? 先来看一个命令 [root@localhost bin]# java -XX:+PrintCommandLineFlags -version -XX:InitialHeapSize=29899008 -XX:MaxHeapSize=478384128 -XX:+PrintCo......

算法之名 ⋅ 今天 ⋅ 0

SAS笔记-宏2

宏是一种文本,一般来说其编译是在程序执行之前。 宏变量的创建 %let语句 %let macro_variables = text; %let是常见的宏变量建立方式,其编译就在执行前。如下例中,想要宏变量test等于数据集...

tonorth123 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部