1. 程式人生 > >json與(Object/List/Map)的相互轉化

json與(Object/List/Map)的相互轉化

json object list mep

在做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. /* 功能 :將一個List轉成json數組

  18. * 參數 :對象list

  19. * return :json數組

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

  21. * */

  22. public String getJsonByJSONArrayFromList(List list) {

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

  24. return json.toString();

  25. }

  26. /* 功能 :將一個List轉成json對象

  27. * 參數 :對象list

  28. * return :json對象

  29. * */

  30. public String getJsonByJSONObjectFromList(List list) {

  31. JSONObject jsonObj = new JSONObject();

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

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

  34. }

  35. return jsonObj.toString();

  36. }

  37. /* 功能 :將一個map轉成json數組

  38. * 參數 :map

  39. * return :json數組

  40. * */

  41. public String getJsonByJSONArrayFromMap(Map map) {

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

  43. return json.toString();

  44. }

  45. /* 功能 :將一個map轉成json對象

  46. * 參數 :map

  47. * return :json對象

  48. * */

  49. /*

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

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

  52. */

  53. public String getJsonByJSONObjectFromMap(Map map) {

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

  55. return json.toString();

  56. }

然後是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)的相互轉化