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. /* 功能      :将一个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. }

原文地址:http://blog.51cto.com/4547985/2073522

时间: 2024-10-15 21:54:18

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

有趣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(Obj

双层嵌套json字符串(即json对象内嵌json数组)解析为Map

之前我层写过一篇文章,介绍了json与map的相互转化,但当时只涉及到单一的json对象或json数组,对json对象内嵌套这json数组的json字符串无法处理,这篇文章主要解决这个问题. 之前的那篇文章址:http://blog.csdn.net/u012116457/article/details/24371877 首先要在项目中导入json的jar包: 在下面的代码中处理json对象既使用了net.sf.json.JSONObject 也使用了org.json.JSONObject 两个

【深入JAVA】将Json字符串转换成Map/List

在阅读的过程中有任何问题,欢迎一起交流 邮箱:[email protected] QQ:1494713801 Java代码 package jsonToMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** * 说明 json字符串 转成 Map/List * @aut

json字符串转换为多级Map -list-map的形式

网上找了好多方法都是一级的,由于需要多级map,于是做如下封装 public static Map<String, Object> parseJSON2Map(String jsonStr){ //最外层解析 if(jsonStr!=null&&jsonStr.startsWith("{")&&jsonStr.endsWith("}")){ Map<String, Object> map = new HashM

json转换成list map集合

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSONHelper { /** * 将JSONObjec对象转换成Map集合 * @see JSONHelper#reflect(JSONArray)

java json字符串转成 Map或List

import java.util.List; import java.util.Map; import java.util.Map.Entry; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** * 说明 json字符串 转成 Map/List * @author xss * @date 2013-1-18 10:22:41 * @mail [email protected] */ public class Json

JSON字符串转换成Map对象

页面向后台action传递一个json字符串,需要将json字符串转换成Map对象 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import net.sf.json.JSONObject; public Map<String, String> toMap(Object object) { Map<String, String> data = new HashMap<Str

Json、JavaBean、Map、XML之间的互转

思路是JavaBean.Map.XML都可以用工具类很简单的转换为Json,进而实现互相转换 1.Map.XML与Json互转 mvn依赖 <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20171018</version> </dependency> entity public class Stud

fastjson将json字符串转化成map的五种方法

fastjson将json字符串转化成map的五种方法 复制代码 1 package com.zkn.newlearn.json; 2 3 import com.alibaba.fastjson.JSON; 4 import com.alibaba.fastjson.JSONObject; 5 import java.util.Map; 6 7 /** 8 * JSON字符串自动转换 9 * 10 */ 11 public class JsonToMapTest01 { 12 13 public