Java - JavaBean json map相互转换

      

                              方法一,利用fastjson在JavaBean,json,map间相互转换

		User user = new User();
		user.setUid(1);
		user.setUname("jack");
		// JavaBean转json
		JSON json = (JSON) JSON.toJSON(user);
		System.out.println("JavaBean转json----"+json);
		// json转map
		Map<String,Object> map = (Map<String,Object>) json;
		map.forEach((k,v)->System.out.println("json转map----"+k+" : "+v));
		// map转json
		JSON json2 = (JSON) JSON.toJSON(map);
		System.out.println("map转json----"+json2);
		// json转JavaBean
		User user2 = JSON.toJavaObject(json2, User.class);
		System.out.println("json转JavaBean----"+user2.getUid()+","+user2.getUname());

 

                                       方法二,利用Field取得JavaBean的属性

 

// 获取类中声明的属性
Field[] fields = User.class.getDeclaredFields();

// 获取类中声明的方法
Field[] fields = user.getClass().getDeclaredMethods();

属性名--fields[0].getName()
属性类型--fields[0].getType().getSimpleName()

-----------获取某对象的属性名和属性值,并将该对象转换成map

    Map<String, String> toMap(Object obj){
        Map<String, String> map = new HashMap<String, String>();
        Field[] fields = obj.getClass().getDeclaredFields();
        for (Field field : fields) {
            try {
                field.setAccessible(true);// 对象的属性不是public,需设置为true才能取值
                Object o = field.get(obj);
                String value = "";
                if (o!=null) {
                    value = o.toString();
                }
                map.put(field.getName(), value);
            } catch (IllegalArgumentException | IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        return map;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值