JAVA中的JSON辅助类

来源:互联网 发布:歪歪语音聊天软件 编辑:程序博客网 时间:2024/05/16 05:56
/**     * 将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;}


原创粉丝点击