JSON帮助工具
    import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
/**
 * JSON帮助工具包
 * @version 1.0 2011-4-28
 * @author 
 */
public class JsonUtils {
	/**
	 * 把JSON格式数据转换为Bean领域模型
	 * @param <T> 领域模型的类型,返回结果会根据此类型来判断返回类型。
	 * @param json JSON格式数据
	 * 			(如果JSON串里的属性在Bean里没有该属性对象的set方法将会报错,
	 * 			 	如果要实现过滤XXX字段转换请使用JsonConfig方法。)
	 * @param beanClass 要转换的领域模型类型
	 * @return 根据beanClass的类型来返回解析的领域模型对象
	 * @version 1.0 2010-6-28
	 * @author 
	 */
	public static <T> T jsonToBean(String json, Class<T> beanClass){
		JSONObject jsonObject = JSONObject.fromObject(json);
		return beanClass.cast(JSONObject.toBean(jsonObject,beanClass));
	}
	/**
	 *  把JSON格式数据转换为Bean领域模型
	 * @param json JSON格式数据
	 * @param jsonConfig JSON转换格式配置文件(设置方法详细见底部说明,或本类的HELP_JSONCONFIG常量DOM注释。)
	 * @return 解析的领域模型对象
	 * @version 1.0 2010-6-29
	 * @author 
	 */
	public static Object jsonToBean(String json, JsonConfig jsonConfig){
		JSONObject jsonObject = JSONObject.fromObject(json);
		return  jsonConfig.getRootClass().cast(JSONObject.toBean(jsonObject,jsonConfig));
	}
	/**
	 * 把JSON格式数据转换为Bean领域模型集合
	 * @param <T> 领域模型的类型,返回结果会根据此类型来判断返回类型。
	 * @param json JSON格式数据
	 * 			(如果JSON串里的属性在Bean里没有该属性对象的set方法将会报错,
	 * 			 	如果要实现过滤XXX字段转换请使用JsonConfig方法。)
	 * @param beanClass 要转换的领域模型类型
	 * @return 根据beanClass的类型来返回解析的领域模型对象集合的泛型类型
	 * @version 1.0 2010-6-29
	 * @author 
	 */
	@SuppressWarnings("unchecked")
	public static <T> List<T> jsonToBeanList(String json, Class<T> beanClass){
		JSONArray jsonArray = JSONArray.fromObject(json);
		Collection<T> collection = JSONArray.toCollection(jsonArray, beanClass);
		List<T> list = new ArrayList<T>();
		for (T t : collection) {
		    if(beanClass.equals(t.getClass())){
		        list.add(t);
		    }
		}
		return list;
	}
	/**
	 * 把JSON格式数据转换为Bean领域模型集合
	 * @param json JSON格式数据
	 * @param jsonConfig JSON转换格式配置文件(设置方法详细见底部说明,或本类的HELP_JSONCONFIG常量DOM注释。)
	 * @return 解析的领域模型对象集合
	 * @version 1.0 2010-6-29
	 * @author 
	 */
	public static Collection<?> jsonToBeanList(String json, JsonConfig jsonConfig){
		JSONArray jsonArray = JSONArray.fromObject(json);
		Collection<?> collection = JSONArray.toCollection(jsonArray, jsonConfig);
		return collection;
	}
	/**
	 * 把一个对象转换为JSON格式数据
	 * @param bean 领域模型对象
	 * 				(如果要过滤默认值的字段或某些字段的值请使用JsonConfig方法。)
	 * @return JSON格式数据
	 * @version 1.0 2010-6-28
	 * @author 
	 */
	public static String beanToJson(Object bean){
		return JSONObject.fromObject(bean).toString();
	}
	/**
	 * 把一个对象转换为JSON格式数据
	 * @param bean 领域模型对象
	 * @param jsonConfig JSON转换格式配置文件(设置方法详细见底部说明,或本类的HELP_JSONCONFIG常量DOM注释。)
	 * @return JSON格式数据
	 * @version 1.0 2010-6-28
	 * @author 
	 */
	public static String beanToJson(Object bean,JsonConfig jsonConfig){
		return JSONObject.fromObject(bean,jsonConfig).toString();
	}
	/**
	 * 获取JSON格式数据某个属性值
	 * @param json JSON格式数据
	 * @param key 要获取的属性名
	 * @return 指定属性的值
	 * @version 1.0 2010-6-28
	 * @author 
	 */
	public static Object getJsonAttribute(String json,String key){
		JSONObject jsonObject = JSONObject.fromObject(json);
		return jsonObject.get(key);
	}
	/**
	 * 获取JSON格式数据某个属性值
	 * @param <T> 属性值的类型,返回结果会根据此类型来判断返回类型。
	 * @param json J