赞
踩
JSON对象是一个无序的”名称/值”对的集合它开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。一个数组开始于”[“,结束于”]”,值之间用”,”分隔。
数组和List转换为JSON用JSONArray.fromObject
Map、bean、beans(保存在一个List中转换)转换为JSON用 JSONObject.fromObjectJSONObject.toBean(JSONObject类型,Class类型)
// 转换为对象(如自定义类对象,Map对象等)
一、JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.
JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
Json必需的包(重新导入包后需重启下,因为这个问题浪费了我好长时间 ,需注意)
commons-beanutils.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
json-lib-2.2.3-jdk13.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar
public class JsonConvert {
private static JsonConfig config = null;
public static JsonConfig getConfig() {
if (config == null) {
config = new JsonConfig();
config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
config.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss"));
}
return config;
}
}
/**
* json 2 list
* @param jsonString
* @param pojoClass
* @return
*/
public static List json2List(String jsonString, Class pojoClass) {
JSONArray jsonArray = JSONArray.fromObject(jsonString);
JSONObject jsonObject;
Object pojoValue;
List list = new ArrayList();
for (int i = 0; i < jsonArray.size(); i++) {
jsonObject = jsonArray.getJSONObject(i);
pojoValue = JSONObject.toBean(jsonObject, pojoClass);
list.add(pojoValue);
}
return list;
}
/**
* 将JSON转换成POJO.
*
* @param json
* the json
* @param beanClz
* the bean clz
* @return the object
* @author overseas
*/
public static Object json2Object(String json, Class beanClz) {
return JSONObject.toBean(JSONObject.fromObject(json), beanClz);
}
/**
* 将POJO转换成JSON.
*
* @param object
* the object
* @return the string
* @author overseas
*/
public static String bean2json(Object object) {
JSONObject jsonObject = JSONObject.fromObject(object, getConfig());
return jsonObject.toString();
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。