天天看点

java对象转化为json字符串并传到前台

Java代码  

  1. package cc.util;  
  2. import java.util.ArrayList;  
  3. import java.util.Date;  
  4. import java.util.HashMap;  
  5. import java.util.Iterator;  
  6. import java.util.List;  
  7. import java.util.Map;  
  8. import   ccmodel.DateJsonValueProcessor;  
  9. import net.sf.json.JSONArray;  
  10. import net.sf.json.JSONObject;  
  11. import net.sf.json.JsonConfig;  
  12. import net.sf.json.util.CycleDetectionStrategy;  
  13. public class JsonUtil {  
  14.      /** 
  15.      * 从一个JSON 对象字符格式中得到一个java对象 
  16.      * @param jsonString 
  17.      * @param pojoCalss 
  18.      * @return 
  19.      */  
  20.      public static Object getObject4JsonString(String jsonString,Class pojoCalss){  
  21.      Object pojo;  
  22.      JSONObject jsonObject = JSONObject.fromObject( jsonString );   
  23.      pojo = JSONObject.toBean(jsonObject,pojoCalss);  
  24.      return pojo;  
  25.      }   
  26.      * 从json HASH表达式中获取一个map,改map支持嵌套功能 
  27.      public static Map getMap4Json(String jsonString){  
  28.      Iterator keyIter = jsonObject.keys();  
  29.      String key;  
  30.      Object value;  
  31.      Map valueMap = new HashMap();  
  32.      while( keyIter.hasNext())  
  33.      {  
  34.      key = (String)keyIter.next();  
  35.      value = jsonObject.get(key);  
  36.      valueMap.put(key, value);  
  37.      return valueMap;  
  38.      }  
  39.      * 从json数组中得到相应java数组 
  40.      public static Object[] getObjectArray4Json(String jsonString){  
  41.      JSONArray jsonArray = JSONArray.fromObject(jsonString);  
  42.      return jsonArray.toArray();   
  43.      * 从json对象集合表达式中得到一个java对象列表 
  44.      * @param pojoClass 
  45.      public static List getList4Json(String jsonString, Class pojoClass){   
  46.      JSONObject jsonObject;  
  47.      Object pojoValue;   
  48.      List list = new ArrayList();  
  49.      for ( int i = 0 ; i<jsonArray.size(); i++){   
  50.      jsonObject = jsonArray.getJSONObject(i);  
  51.      pojoValue = JSONObject.toBean(jsonObject,pojoClass);  
  52.      list.add(pojoValue);  
  53.       }  
  54.      return list;  
  55.      * 从json数组中解析出java字符串数组 
  56.      public static String[] getStringArray4Json(String jsonString){   
  57.      String[] stringArray = new String[jsonArray.size()];  
  58.      for( int i = 0 ; i<jsonArray.size() ; i++ ){  
  59.      stringArray[i] = jsonArray.getString(i);   
  60.      return stringArray;  
  61.      * 从json数组中解析出javaLong型对象数组 
  62.      public static Long[] getLongArray4Json(String jsonString){   
  63.      Long[] longArray = new Long[jsonArray.size()];  
  64.      longArray[i] = Long.valueOf(String.valueOf(jsonArray.getLong(i)));  
  65.      return longArray;  
  66.      * 从json数组中解析出java Integer型对象数组 
  67.      public static Integer[] getIntegerArray4Json(String jsonString){   
  68.      Integer[] integerArray = new Integer[jsonArray.size()];  
  69.      integerArray[i] = Integer.valueOf(String.valueOf(jsonArray.getInt(i)));  
  70.      return integerArray;  
  71.      * 从json数组中解析出java Date 型对象数组,使用本方法必须保证 
  72.      public static Date[] getDateArray4Json(String jsonString,String DataFormat){   
  73.      Date[] dateArray = new Date[jsonArray.size()];  
  74.      String dateString;  
  75.      Date date;  
  76.      dateString = jsonArray.getString(i);  
  77.     // date = DateUtil.stringToDate(dateString, DataFormat);  
  78.     // dateArray[i] = date;   
  79.      return dateArray;  
  80.      public static Double[] getDoubleArray4Json(String jsonString){   
  81.      Double[] doubleArray = new Double[jsonArray.size()];  
  82.     /// doubleArray[i] = jsonArray.getDouble(i);   
  83.      return doubleArray;  
  84.      * 将java对象转换成json字符串 
  85.      * @param javaObj 
  86.      public static String getJsonString4JavaPOJO(Object javaObj){   
  87.      JSONObject json;  
  88.      json = JSONObject.fromObject(javaObj);  
  89.      return json.toString();  
  90.      * 将java对象转换成json字符串,并设定日期格式 
  91.      * @param dataFormat 
  92.      public static String getJsonString4JavaPOJO(Object javaObj , String dataFormat){   
  93.      JsonConfig jsonConfig = configJson(dataFormat);  
  94.      json = JSONObject.fromObject(javaObj,jsonConfig);  
  95.       * JSON 时间解析器具 
  96.       * @param datePattern 
  97.       * @return 
  98.       */  
  99.       public static JsonConfig configJson(String datePattern) {   
  100.       JsonConfig jsonConfig = new JsonConfig();   
  101.       jsonConfig.setExcludes(new String[]{""});   
  102.       jsonConfig.setIgnoreDefaultExcludes(false);   
  103.       jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);   
  104.       jsonConfig.registerJsonValueProcessor(Date.class,   
  105.       new DateJsonValueProcessor(datePattern));    
  106.       return jsonConfig;   
  107.       }   
  108.       /** 
  109.       * 
  110.       * @param excludes 
  111.       public static JsonConfig configJson(String[] excludes,   
  112.       String datePattern) {   
  113.       jsonConfig.setExcludes(excludes);   
  114.       public static JsonConfig configJson(String[] excludes  
  115.              ) {   
  116.               JsonConfig jsonConfig = new JsonConfig();   
  117.               jsonConfig.setExcludes(excludes);   
  118.               jsonConfig.setIgnoreDefaultExcludes(false);   
  119.               jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);   
  120.               return jsonConfig;   
  121.               }   
  122. }  
package cc.util;

import java.util.ArrayList;


import java.util.Date;


import java.util.HashMap;


import java.util.Iterator;


import java.util.List;


import java.util.Map;


import   ccmodel.DateJsonValueProcessor;


import net.sf.json.JSONArray;


import net.sf.json.JSONObject;


import net.sf.json.JsonConfig;


import net.sf.json.util.CycleDetectionStrategy;


public class JsonUtil {

/**

       
* 从一个JSON 对象字符格式中得到一个java对象

 * @param jsonString

 * @param pojoCalss

 * @return

 */

 public static Object getObject4JsonString(String jsonString,Class pojoCalss){

 Object pojo;

 JSONObject jsonObject = JSONObject.fromObject( jsonString ); 

 pojo = JSONObject.toBean(jsonObject,pojoCalss);

 return pojo;

 } 

 

 /**

 * 从json HASH表达式中获取一个map,改map支持嵌套功能

 * @param jsonString

 * @return

 */

 public static Map getMap4Json(String jsonString){

 JSONObject jsonObject = JSONObject.fromObject( jsonString ); 

 Iterator keyIter = jsonObject.keys();

 String key;

 Object value;

 Map valueMap = new HashMap();

 while( keyIter.hasNext())

 {

 key = (String)keyIter.next();

 value = jsonObject.get(key);

 valueMap.put(key, value);

 } 

 return valueMap;

 }

 

 

 /**

 * 从json数组中得到相应java数组

 * @param jsonString

 * @return

 */

 public static Object[] getObjectArray4Json(String jsonString){

 JSONArray jsonArray = JSONArray.fromObject(jsonString);

 return jsonArray.toArray(); 

 }

 

 

 /**

 * 从json对象集合表达式中得到一个java对象列表

 * @param jsonString

 * @param pojoClass

 * @return

 */

 public static List getList4Json(String jsonString, Class pojoClass){ 

 JSONArray jsonArray = JSONArray.fromObject(jsonString);

 JSONObject jsonObject;

 Object pojoValue; 

 List list = new ArrayList();

 for ( int i = 0 ; i&lt;jsonArray.size(); i++){ 

 jsonObject = jsonArray.getJSONObject(i);

 pojoValue = JSONObject.toBean(jsonObject,pojoClass);

 list.add(pojoValue);

  }

 return list;

 }

 

 /**

 * 从json数组中解析出java字符串数组

 * @param jsonString

 * @return

 */

 public static String[] getStringArray4Json(String jsonString){ 

 JSONArray jsonArray = JSONArray.fromObject(jsonString);

 String[] stringArray = new String[jsonArray.size()];

 for( int i = 0 ; i&lt;jsonArray.size() ; i++ ){

 stringArray[i] = jsonArray.getString(i); 

 } 

 return stringArray;

 }

 

 /**

 * 从json数组中解析出javaLong型对象数组

 * @param jsonString

 * @return

 */

 public static Long[] getLongArray4Json(String jsonString){ 

 JSONArray jsonArray = JSONArray.fromObject(jsonString);

 Long[] longArray = new Long[jsonArray.size()];

 for( int i = 0 ; i&lt;jsonArray.size() ; i++ ){

 longArray[i] = Long.valueOf(String.valueOf(jsonArray.getLong(i)));

  }

 return longArray;

 }

 

 /**

 * 从json数组中解析出java Integer型对象数组

 * @param jsonString

 * @return

 */

 public static Integer[] getIntegerArray4Json(String jsonString){ 

 JSONArray jsonArray = JSONArray.fromObject(jsonString);

 Integer[] integerArray = new Integer[jsonArray.size()];

 for( int i = 0 ; i&lt;jsonArray.size() ; i++ ){

 integerArray[i] = Integer.valueOf(String.valueOf(jsonArray.getInt(i)));

  }

 return integerArray;

 }

 

 /**

 * 从json数组中解析出java Date 型对象数组,使用本方法必须保证

 * @param jsonString

 * @return

 */

 public static Date[] getDateArray4Json(String jsonString,String DataFormat){ 

 JSONArray jsonArray = JSONArray.fromObject(jsonString);

 Date[] dateArray = new Date[jsonArray.size()];

 String dateString;

 Date date;

 

 for( int i = 0 ; i&lt;jsonArray.size() ; i++ ){

 dateString = jsonArray.getString(i);

// date = DateUtil.stringToDate(dateString, DataFormat);

// dateArray[i] = date; 

 }

 return dateArray;

 }

 

 /**

 * 从json数组中解析出java Integer型对象数组

 * @param jsonString

 * @return

 */

 public static Double[] getDoubleArray4Json(String jsonString){ 

 JSONArray jsonArray = JSONArray.fromObject(jsonString);

 Double[] doubleArray = new Double[jsonArray.size()];

 for( int i = 0 ; i&lt;jsonArray.size() ; i++ ){

/// doubleArray[i] = jsonArray.getDouble(i); 

 }

 return doubleArray;

 }

 

 /**

 * 将java对象转换成json字符串

 * @param javaObj

 * @return

 */

 public static String getJsonString4JavaPOJO(Object javaObj){ 

 JSONObject json;

 json = JSONObject.fromObject(javaObj);

 return json.toString();

  }

 

 /**

 * 将java对象转换成json字符串,并设定日期格式

 * @param javaObj

 * @param dataFormat

 * @return

 */

 public static String getJsonString4JavaPOJO(Object javaObj , String dataFormat){ 

 JSONObject json;

 JsonConfig jsonConfig = configJson(dataFormat);

 json = JSONObject.fromObject(javaObj,jsonConfig);

 return json.toString();
 }
 /**

  * JSON 时间解析器具

  * @param datePattern

  * @return

  */

  public static JsonConfig configJson(String datePattern) { 

  JsonConfig jsonConfig = new JsonConfig(); 

  jsonConfig.setExcludes(new String[]{""}); 

  jsonConfig.setIgnoreDefaultExcludes(false); 

  jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); 

  jsonConfig.registerJsonValueProcessor(Date.class, 

  new DateJsonValueProcessor(datePattern));  

  return jsonConfig; 

  } 

  

  /**

  *

  * @param excludes

  * @param datePattern

  * @return

  */

  public static JsonConfig configJson(String[] excludes, 

  String datePattern) { 

  JsonConfig jsonConfig = new JsonConfig(); 

  jsonConfig.setExcludes(excludes); 

  jsonConfig.setIgnoreDefaultExcludes(false); 

  jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); 

  jsonConfig.registerJsonValueProcessor(Date.class, 

  new DateJsonValueProcessor(datePattern));  

  return jsonConfig; 

  } 
  
  public static JsonConfig configJson(String[] excludes

		 ) { 

		  JsonConfig jsonConfig = new JsonConfig(); 

		  jsonConfig.setExcludes(excludes); 

		  jsonConfig.setIgnoreDefaultExcludes(false); 

		  jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); 

		
		  return jsonConfig; 

		  } 
           
}

 需要一个json的jar包