• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

JAVA中的JSON辅助类

JAVA相关 水墨上仙 2446次浏览

JAVA中的JSON辅助类

/**
     * 将bean的一组属性,输出成json结果
     *
     * @param bean
     * @param exclude  true为将参数中的属性排除在外,false为将参数中的属性输出成json
     * @param fieldNames
     * @return
     */
    public static Map<String, Object> getFieldValues(Object bean, boolean exclude, String... fieldNames) {
        if (bean == null) return Collections.emptyMap();
        BeanWrapper beanWrapper = PropertyAccessorFactory.forBeanPropertyAccess(bean);
        Set<String> fields;
        if (ArrayUtils.isEmpty(fieldNames)) {
            fields = new HashSet<String>();
        } else {
            fields = new HashSet<String>(Arrays.asList(fieldNames));
        }
        Map<String, Object> ret = new LinkedHashMap<String, Object>();
        PropertyDescriptor[] descriptors = beanWrapper.getPropertyDescriptors();
        for (PropertyDescriptor pd : descriptors) {
            if (pd.getReadMethod() == null)
                continue;
            String name = pd.getName();
            if (exclude) {
                if (fields.contains(name))
                    continue;
            } else {
                if (!fields.contains(name))
                    continue;
            }
            ret.put(name, beanWrapper.getPropertyValue(name));
        }
        return ret;
    }
//=================================把json字符串转成java类型;
	   /**
	    *  把json字符串转换成为java对象;
	    *  字符串是符合json规则的;
	    *  {"...":"...","...":"..."}
	    */
	   public static Object fromStrToObject(String str,Class clazz,Map classMap){
		   JSONObject json = JSONObject.fromObject(str);
		   Object bean = null;
		   if(clazz == null){
			   bean = JSONObject.toBean(json);
		   }else if(clazz != null){
			   if(classMap != null){
				   bean = JSONObject.toBean(json,clazz,classMap);
			   }else{
				   bean = JSONObject.toBean(json,clazz);
			   }
		   }
		   return bean;
	   }
	   
	   
	   public static List fromStrToList(String str, Class clazz, Map classMap) {
		JSONArray array = JSONArray.fromObject(str);
		List list = new ArrayList();
		for (int i = 0; i < array.size(); i++) {
			JSONObject obj = array.getJSONObject(i);
			Object bean = null;
			if (clazz == null) {
				bean = JSONObject.toBean(obj);
			} else if (clazz != null) {
				if (classMap != null) {
					bean = JSONObject.toBean(obj, clazz, classMap);
				} else {
					bean = JSONObject.toBean(obj, clazz);
				}
			}
			list.add(bean);
		}
		return list;
	}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明JAVA中的JSON辅助类
喜欢 (0)
加载中……