日期:2014-05-16 浏览次数:20362 次
在做web应用时,经常需要将json转化成Object/list/map或者将Object/List/map转化成json,通过简单封装可以在写代码是减轻很多负担。本文将给出json转化的一系列方法。 闲话不 多说,直接上代码:
先是Object /List /Map转化为Json
/* 功能 :将一个对象转成json数组 * 参数 :object对象 * return :json数组 * */ public String getJsonByJSONArrayFromObject(Object o) { JSONArray json = JSONArray.fromObject(o); return json.toString(); } /* 功能 :将一个对象转成json对象 * 参数 :object对象 * return :json对象 * */ public String getJsonByBeanFromObject(Object o) { JSONObject jsonObj = JSONObject.fromObject(o); return jsonObj.toString(); } /* 功能 :将一个List转成json数组 * 参数 :对象list * return :json数组 * 返回的格式: [{"password":"1234","username":"cxl"}] * */ public String getJsonByJSONArrayFromList(List list) { JSONArray json = JSONArray.fromObject(list); return json.toString(); } /* 功能 :将一个List转成json对象 * 参数 :对象list * return :json对象 * */ public String getJsonByJSONObjectFromList(List list) { JSONObject jsonObj = new JSONObject(); for (int i = 0; i < list.size(); i++) { jsonObj.put(list.get(i).toString(), list.get(i)); } return jsonObj.toString(); } /* 功能 :将一个map转成json数组 * 参数 :map * return :json数组 * */ public String getJsonByJSONArrayFromMap(Map map) { JSONArray json = JSONArray.fromObject(map); return json.toString(); } /* 功能 :将一个map转成json对象 * 参数 :map * return :json对象 * */ /* * Map<String,Object> map = new HashMap<String,Object>(); map.put("users", * users); map.put("u", u); */ public String getJsonByJSONObjectFromMap(Map map) { JSONObject json = JSONObject.fromObject(map); return json.toString(); }
然后是json转化为其他类型
/* * 功能 :将json对象(只有一组值)转成object * 参数 :json字符串 * return : javabean 对象 * * */ // {id:'id1',code:'code1',name:'name1'} public Object getBeantByJSONObjectFromJson(String json) { JSONObject jsonObject = JSONObject.fromObject(json); Object object=(Object)JSONObject.toBean(jsonObject); return object; } /* * 功能 :将json转成map * 参数 :json字符串 * return : map * */ // {id:'id1',code:'code1',name:'name1'} public Map<String, Object> getMapByJson(String json) { Map<String, Object> map = new HashMap<String, Object>(); // 最外层解析 JSONObject object = JSONObject.fromObject(json); for (Object k : object.keySet()) { Object v = object.get(k); map.put(k.toString(), v); } return map; } /* * 功能 :将json转成list * 参数 :json字符串 * return : list * */ // [{id:'id1',code:'code1',name:'name1'},{id:'id2',code:'code2',name:'name2'}] public List getListByJSONArrayFromJson(String json) { JSONArray array = JSONArray.fromObject(json); List list=(List)JSONArray.toList(array); return array; }