Json的转换

Html代码  收藏代码
  1. commons-beanutils-1.7.0.jar    
  2. commons-lang-2.1.jar   
  3. ezmorph-1.0.2.jar   
  4. json-lib-1.1-jdk15.jar   
Html代码  收藏代码
  1. 1. List集合转换成json代码  
  2. List list = new ArrayList();  
  3. list.add( "first" );  
  4. list.add( "second" );  
  5. JSONArray jsonArray2 = JSONArray.fromObject( list );  
  6. 2. Map集合转换成json代码  
  7. Map map = new HashMap();  
  8. map.put("name", "json");  
  9. map.put("bool", Boolean.TRUE);  
  10. map.put("int", new Integer(1));  
  11. map.put("arr", new String[] { "a", "b" });  
  12. map.put("func", "function(i){ return this.arr[i]; }");  
  13. JSONObject json = JSONObject.fromObject(map);  
  14. 3. Bean转换成json代码  
  15. JSONObject jsonObject = JSONObject.fromObject(new JsonBean());  
  16. 4. 数组转换成json代码  
  17. boolean[] boolArray = new boolean[] { true, false, true };  
  18. JSONArray jsonArray1 = JSONArray.fromObject(boolArray);  
  19. 5. 一般数据转换成json代码  
  20. JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );<p>  
  21. [color=red]response.getWriter().write(jsonArray2.toString());[/color]</p>  
Html代码  收藏代码
  1. <html>  
  2.   <head>  
  3.     <title>My JSP 'json.jsp' starting page</title>  
  4.  <script type="text/javascript" src="js/jquery-1.3.2.js"></script>  
  5.  <script type="text/javascript">  
  6.   $(document).ready(function(){  
  7.   var txt = '{"employees":[' +  
  8.    '{"firstName":"Bill","lastName":"Gates" },' +  
  9.    '{"firstName":"George","lastName":"Bush" },' +  
  10.    '{"firstName":"Thomas","lastName":"Carter" }]}';  
  11.      
  12.   var JSONObject= {  
  13.     "name":"Bill Gates",  
  14.     "street":"Fifth Avenue New York 666",  
  15.     "age":56,  
  16.     "phone":"555 1234567"};  
  17.   var book = '{"hcz":[{"author":"hong","author1":"honglou"},{"author":"hong1","author1":"honglou1"}]}';  
  18.    $("#btn").click(function(){  
  19.     var dataObject = eval("("+txt+")");  
  20.     alert(dataObject.employees[1].firstName);  
  21.    });  
  22.    $("#btn1").click(function(){  
  23.     alert(JSONObject.name);  
  24.    });  
  25.    $("#btn2").click(function(){  
  26.     var bookObject = eval("("+book+")");  
  27.     alert(bookObject.hcz[1].author);  
  28.    });  
  29.      
  30.   });  
  31.  </script>   
  32.   </head>    
  33.   <body>  
  34.    <input type="button" value="Button0" id="btn" />  
  35.    <input type="button" value="Button1" id="btn1" />  
  36.     <input type="button" value="Button2" id="btn2" />  
  37.   </body>  
  38. </html>  

 

Java代码  收藏代码
  1. package com.test;  
  2.   
  3. import java.util.Collection;  
  4. import java.util.HashMap;  
  5. import java.util.Map;  
  6.   
  7. import net.sf.json.JSONArray;  
  8. import net.sf.json.JSONObject;  
  9.   
  10. /** 
  11.  * JSON和JAVA的POJO的相互转换 
  12.  *  
  13.  * @author tanpingping 
  14.  * @date 2012-5-15 
  15.  */  
  16. public final class JSONUtils {  
  17.     /** 
  18.      * 将String转换成JSON 
  19.      *  
  20.      * @param key 
  21.      * @param value 
  22.      * @return json格式的字符串 
  23.      */  
  24.     public String stringToJson(String key, String value) {  
  25.         JSONObject object = new JSONObject();  
  26.         object.put(key, value);  
  27.         return object.toString();  
  28.     }  
  29.   
  30.     /** 
  31.      * 将JSON转换成数组,其中valueClz为数组中存放的对象的Class 
  32.      *  
  33.      * @param json格式的字符串 
  34.      *            如:[{'name':'李名','password':'10aVB','age':'15'}] 
  35.      * @param valueClz 
  36.      *            需要转换的Class对象 如:User 
  37.      * @return valueClz对象的数组 
  38.      */  
  39.     @SuppressWarnings("unchecked")  
  40.     public Object jsonToArray(String json, Class valueClz) {  
  41.         JSONArray jsonArray = JSONArray.fromObject(json);  
  42.         return JSONArray.toArray(jsonArray, valueClz);  
  43.     }  
  44.   
  45.     /** 
  46.      * 将Collection转换成JSON 
  47.      *  
  48.      * @param object 
  49.      *            需要对象的值转换 
  50.      * @return 
  51.      */  
  52.     public String collectionToJson(Object object) {  
  53.         JSONArray jsonArray = JSONArray.fromObject(object);  
  54.         return jsonArray.toString();  
  55.     }  
  56.   
  57.     /** 
  58.      * 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class, 
  59.      *  
  60.      * @param json 
  61.      * @param collectionClz 
  62.      *            这个值没用到 
  63.      * @param valueClz 
  64.      *            为Collection中存放的对象的Class 
  65.      * @return 
  66.      */  
  67.     @SuppressWarnings("unchecked")  
  68.     public Collection jsonToCollection(String json, Class collectionClz,  
  69.             Class valueClz) {  
  70.         JSONArray jsonArray = JSONArray.fromObject(json);  
  71.         return JSONArray.toCollection(jsonArray, valueClz);  
  72.     }  
  73.   
  74.     /** 
  75.      * 将数组转换成JSON 
  76.      *  
  77.      * @param object 
  78.      *            需要转换的数组 
  79.      * @return 
  80.      */  
  81.     public String arrayToJson(Object object) {  
  82.         JSONArray jsonArray = JSONArray.fromObject(object);  
  83.         return jsonArray.toString();  
  84.     }  
  85.   
  86.     /** 
  87.      * 将Map转换成JSON 
  88.      *  
  89.      * @param object 
  90.      * @return 
  91.      */  
  92.     public String mapToJson(Object object) {  
  93.         JSONObject jsonObject = JSONObject.fromObject(object);  
  94.         return jsonObject.toString();  
  95.     }  
  96.   
  97.     /** 
  98.      * 将JSON转换成Map 
  99.      *  
  100.      * @param keyArray 
  101.      *            为Map的key 
  102.      * @param json 
  103.      * @param valueClz 
  104.      *            为Map中value的Class 
  105.      * @return Map对象 
  106.      */  
  107.     @SuppressWarnings("unchecked")  
  108.     public Map jsonToMap(Object[] keyArray, String json, Class valueClz) {  
  109.         JSONObject jsonObject = JSONObject.fromObject(json);  
  110.         Map classMap = new HashMap();  
  111.   
  112.         for (int i = 0; i < keyArray.length; i++) {  
  113.             classMap.put(keyArray[i], valueClz);  
  114.         }  
  115.         return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);  
  116.     }  
  117.   
  118.     /** 
  119.      * 将POJO转换成JSON 
  120.      *  
  121.      * @param object 
  122.      *            需要转换的对象 
  123.      * @return 
  124.      */  
  125.     public String beanToJson(Object bean) {  
  126.         JSONObject jsonObject = JSONObject.fromObject(bean);  
  127.         return jsonObject.toString();  
  128.     }  
  129.   
  130.     /** 
  131.      * 将JSON转换成POJO 
  132.      *  
  133.      * @param json 
  134.      * @param beanClz 
  135.      *            为POJO的Class 
  136.      * @return 
  137.      */  
  138.     public Object jsonToObject(String json, Class beanClz) {  
  139.         return JSONObject.toBean(JSONObject.fromObject(json), beanClz);  
  140.     }  
  141.   
  142.     /** 
  143.      * 将JSON转换成String 
  144.      *  
  145.      * @param json 
  146.      * @param key 
  147.      * @return 
  148.      */  
  149.     public String jsonToString(String json, String key) {  
  150.         JSONObject jsonObject = JSONObject.fromObject(json);  
  151.         return jsonObject.get(key).toString();  
  152.     }  
  153.      /** 
  154.   * JAVA数组对象转换成JSON字符串 
  155.   *  
  156.   * @param list JAVA数组对象 
  157.   * @return JSON字符串 
  158.   * @throws MapperException 
  159.   */  
  160.  public static String obj2Json(List<Class<?>> list) throws MapperException {  
  161.   if (list == null || list.size() == 0) {  
  162.    return "{}";  
  163.   }  
  164.   StringBuilder jsonString = new StringBuilder();  
  165.   for (int i = 0; i < list.size(); i++) {  
  166.    if (i != 0) {  
  167.     jsonString.append(",");  
  168.    }  
  169.    Class<?> cla = list.get(i);  
  170.    jsonString.append(obj2Json(cla, false));  
  171.   }  
  172.   return jsonString.toString();  
  173.  }  
Java代码  收藏代码
  1.  /** 
  2.   * JAVA集合对象转换成JSON字符串 
  3.   *  
  4.   * @param map JAVA集合对象 
  5.   * @return JSON字符串 
  6.   * @throws MapperException 
  7.   */  
  8.  public static String obj2Json(Map<String, Class<?>> map) throws MapperException {  
  9.   if (map == null || map.size() == 0) {  
  10.    return "{}";  
  11.   }  
  12.   StringBuilder jsonString = new StringBuilder();  
  13.   Set<String> keySet = map.keySet();  
  14.   boolean isFirst = true;  
  15.   for (String key : keySet) {  
  16.    if (isFirst) {  
  17.     isFirst = false;  
  18.    } else {  
  19.     jsonString.append(",");  
  20.    }  
  21.    Class<?> cla = map.get(key);  
  22.    jsonString.append(obj2Json(cla, false));  
  23.   }  
  24.   return jsonString.toString();  
  25.  }  
  26.    
  27.  /** 
  28.   * JAVA集合对象转换成JSON字符串 
  29.   *  
  30.   * @param map JAVA集合对象 
  31.   * @return JSON字符串 
  32.   * @throws MapperException 
  33.   */  
  34.  @SuppressWarnings("unchecked")  
  35.  public static String map2Json(Map<?,?> map) throws MapperException {  
  36.   MapBean mapBean = new MapBean((Map<String, Object>)map);  
  37.   return obj2Json(mapBean);  
  38.  }  
Java代码  收藏代码
  1.  /** 
  2.   * JAVA数组对象转换成JSON字符串 
  3.   *  
  4.   * @param list JAVA数组对象 
  5.   * @return JSON字符串 
  6.   * @throws MapperException 
  7.   */  
  8.  public static String list2Json(List<?> list) throws MapperException {  
  9.   ListBean listBean = new ListBean(list);  
  10.   return obj2Json(listBean);  
  11.  }  
Java代码  收藏代码
  1.  /** 
  2.   * 重载objectToJsonStr方法 
  3.   *  
  4.   * @param obj 需要转换的JAVA对象 
  5.   * @param format 是否格式化 
  6.   * @return JSON字符串 
  7.   * @throws MapperException 
  8.   */  
  9.  public static String obj2Json(Object obj, boolean format) throws MapperException {  
  10.   JSONValue jsonValue = JSONMapper.toJSON(obj);  
  11.   String jsonStr = jsonValue.render(format);  
  12.   return jsonStr;  
  13.  }  
Java代码  收藏代码
  1.  /** 
  2.   * JSON字符串转换成JAVA对象 
  3.   *  
  4.   * @param jsonStr JSON字符串 
  5.   * @param cla JAVA对象 
  6.   * @return 转换后的对象 
  7.   */  
  8.  public static Object json2Obj(String jsonStr, Class<?> cla) throws Exception {  
  9.   Object obj = null;  
  10.   try {  
  11.    JSONParser parser = new JSONParser(new StringReader(jsonStr));  
  12.    JSONValue jsonValue = parser.nextValue();  
  13.    if (jsonValue instanceof com.sdicons.json.model.JSONArray) {  
  14.     List<Object> list = new ArrayList<Object>();  
  15.     JSONArray jsonArray = (JSONArray) jsonValue;  
  16.     for (int i = 0; i < jsonArray.size(); i++) {  
  17.      JSONValue jsonObj = jsonArray.get(i);  
  18.      Object javaObj = JSONMapper.toJava(jsonObj, cla);  
  19.      list.add(javaObj);  
  20.     }  
  21.     obj = list;  
  22.    } else if (jsonValue instanceof com.sdicons.json.model.JSONObject) {  
  23.     obj = JSONMapper.toJava(jsonValue, cla);  
  24.    } else {  
  25.     obj = jsonValue;  
  26.    }  
  27.   } catch (Exception e) {  
  28.    e.printStackTrace();  
  29.   }  
  30.   return obj;  
  31.  }  
  32.       

阅读更多
个人分类: java
想对作者说点什么? 我来说一句

JSON与JAVA数据的转换

2009年07月30日 9KB 下载

java json 转换

2013年01月20日 5KB 下载

gson-2.0最新

2017年11月08日 198KB 下载

JAVA...JSON

2009年08月05日 108KB 下载

jsonview,转换json格式

2018年05月23日 104KB 下载

基于.NET2.0 JSON转换对象

2010年01月27日 124KB 下载

java json 所有jar包

2013年01月31日 1.59MB 下载

json格式转换jar包

2017年02月08日 3.9MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭