json与(Object/List/Map)的相互转化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json与(Object/List/Map)的相互转化相关的知识,希望对你有一定的参考价值。

在做web应用时,经常需要将json转化成Object/list/map或者将Object/List/map转化成json,通过简单封装可以在写代码是减轻很多负担。本文将给出json转化的一系列方法。 闲话不 多说,直接上代码:

先是Object /List /Map转化为Json

  1.    /* 功能      :将一个对象转成json数组 

  2.     * 参数      :object对象 

  3.     * return    :json数组 

  4.     * */  

  5. public String getJsonByJSONArrayFromObject(Object o) {  

  6.     JSONArray json = JSONArray.fromObject(o);   

  7.     return json.toString();  

  8. }  

  9.     /* 功能     :将一个对象转成json对象 

  10.     * 参数      :object对象 

  11.     * return    :json对象 

  12.     * */  

  13. public String getJsonByBeanFromObject(Object o) {  

  14.     JSONObject jsonObj = JSONObject.fromObject(o);  

  15.     return jsonObj.toString();  

  16. }  

  17.   

  18.    /* 功能      :将一个List转成json数组 

  19.     * 参数      :对象list 

  20.     * return    :json数组 

  21.     * 返回的格式: [{"password":"1234","username":"cxl"}] 

  22.     * */  

  23. public String getJsonByJSONArrayFromList(List list) {  

  24.     JSONArray json = JSONArray.fromObject(list);   

  25.     return json.toString();  

  26. }  

  27.     /* 功能                     :将一个List转成json对象 

  28.     * 参数                     :对象list 

  29.     * return    :json对象 

  30.     * */  

  31. public String getJsonByJSONObjectFromList(List list) {  

  32.     JSONObject jsonObj = new JSONObject();  

  33.     for (int i = 0; i < list.size(); i++) {  

  34.         jsonObj.put(list.get(i).toString(), list.get(i));  

  35.     }  

  36.     return jsonObj.toString();  

  37. }  

  38.    /* 功能      :将一个map转成json数组 

  39.     * 参数      :map 

  40.     * return    :json数组 

  41.     * */  

  42. public String getJsonByJSONArrayFromMap(Map map) {  

  43.     JSONArray json = JSONArray.fromObject(map);  

  44.     return json.toString();  

  45. }  

  46.    /* 功能      :将一个map转成json对象 

  47.     * 参数      :map 

  48.     * return    :json对象 

  49.     * */  

  50. /* 

  51.  * Map<String,Object> map = new HashMap<String,Object>(); map.put("users", 

  52.  * users); map.put("u", u); 

  53.  */  

  54. public String getJsonByJSONObjectFromMap(Map map) {  

  55.     JSONObject json = JSONObject.fromObject(map);  

  56.     return json.toString();  

  57. }  

然后是json转化为其他类型


[java] view plain copy

  1.     /* 

  2.     * 功能    :将json对象(只有一组值)转成object 

  3.     * 参数    :json字符串 

  4.     * return  : javabean 对象 

  5.     *  

  6.     * */  

  7. // {id:'id1',code:'code1',name:'name1'}  

  8. public Object getBeantByJSONObjectFromJson(String json) {              

  9.     JSONObject jsonObject = JSONObject.fromObject(json);  

  10.     Object  object=(Object)JSONObject.toBean(jsonObject);  

  11.     return object;  

  12. }  

  13.    /* 

  14.     * 功能                 :将json转成map 

  15.     * 参数                 :json字符串 

  16.     * return  : map 

  17.     * */  

  18. // {id:'id1',code:'code1',name:'name1'}  

  19. public Map<String, Object> getMapByJson(String json) {  

  20.     Map<String, Object> map = new HashMap<String, Object>();  

  21.     // 最外层解析  

  22.     JSONObject object = JSONObject.fromObject(json);  

  23.     for (Object k : object.keySet()) {  

  24.         Object v = object.get(k);  

  25.         map.put(k.toString(), v);  

  26.     }  

  27.     return map;  

  28. }  

  29.  /* 

  30.     * 功能                 :将json转成list 

  31.     * 参数                 :json字符串 

  32.     * return  : list 

  33.     * */  

  34. // [{id:'id1',code:'code1',name:'name1'},{id:'id2',code:'code2',name:'name2'}]  

  35. public List getListByJSONArrayFromJson(String json) {          

  36.     JSONArray array = JSONArray.fromObject(json);  

  37.     List list=(List)JSONArray.toList(array);  

  38.     return array;  

  39. }  





以上是关于json与(Object/List/Map)的相互转化的主要内容,如果未能解决你的问题,请参考以下文章

【golang】结构体与json相互转换,map与json相互转换

微信小程序json对象与json字符串相互转换

JSON数据与Java对象的相互转换

JSON 与JAVA数据的相互转换

json字符串 与 json对象 的相互转换

protobuf与json相互转换的方法