日期:2014-05-16 浏览次数:20342 次
public class JsonUtil { /**页面传至后台时,json数据在request的参数名称*/ public final static String JSON_ATTRIBUTE = "json"; public final static String JSON_ATTRIBUTE1 = "json1"; public final static String JSON_ATTRIBUTE2 = "json2"; public final static String JSON_ATTRIBUTE3 = "json3"; public final static String JSON_ATTRIBUTE4 = "json4"; /** * 从一个JSON 对象字符格式中得到一个java对象,形如: * {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}} * @param object * @param clazz * @return */ public static Object getDTO(String jsonString, Class clazz){ JSONObject jsonObject = null; try{ setDataFormat2JAVA(); jsonObject = JSONObject.fromObject(jsonString); }catch(Exception e){ e.printStackTrace(); } return JSONObject.toBean(jsonObject, clazz); } /** * 从一个JSON 对象字符格式中得到一个java对象,其中beansList是一类的集合,形如: * {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}, * beansList:[{}, {}, ...]} * @param jsonString * @param clazz * @param map 集合属性的类型 (key : 集合属性名, value : 集合属性类型class) eg: ("beansList" : Bean.class) * @return */ public static Object getDTO(String jsonString, Class clazz, Map map){ JSONObject jsonObject = null; try{ setDataFormat2JAVA(); jsonObject = JSONObject.fromObject(jsonString); }catch(Exception e){ e.printStackTrace(); } return JSONObject.toBean(jsonObject, clazz, map); } /** * 从一个JSON数组得到一个java对象数组,形如: * [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...] * @param object * @param clazz * @return */ public static Object[] getDTOArray(String jsonString, Class clazz){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); Object[] obj = new Object[array.size()]; for(int i = 0; i < array.size(); i++){ JSONObject jsonObject = array.getJSONObject(i); obj[i] = JSONObject.toBean(jsonObject, clazz); } return obj; } /** * 从一个JSON数组得到一个java对象数组,形如: * [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...] * @param object * @param clazz * @param map * @return */ public static Object[] getDTOArray(String jsonString, Class clazz, Map map){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); Object[] obj = new Object[array.size()]; for(int i = 0; i < array.size(); i++){ JSONObject jsonObject = array.getJSONObject(i); obj[i] = JSONObject.toBean(jsonObject, clazz, map); } return obj; } /** * 从一个JSON数组得到一个java对象集合 * @param object * @param clazz * @return */ public static List getDTOList(String jsonString, Class clazz){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); List list = new ArrayList(); for(Iterator iter = array.iterator(); iter.hasNext();){ JSONObject jsonObject = (JSONObject)iter.next(); list.add(JSONObject.toBean(jsonObject, clazz)); } return list;