本文主要是介绍玩转Web之Json(四)---json与(Object/List/Map)的相互转化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在做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;}
这篇关于玩转Web之Json(四)---json与(Object/List/Map)的相互转化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!