자바 에서 json 의 직렬 화 와 반 직렬 화
/**
* , , Teacher , List<Teacher>
* @param source json
* @param beanClass
* @return
*/
public static Object getObjFromJsonArrStr(String source,Class beanClass)
{
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(source);
return JSONObject.toBean(jsonObject,beanClass);
}
/**
* , , Teacher , List<Teacher>
* @param jsonArrStr
* @param clazz
* @param classMap
* @return
*/
public static Object getObjFromJsonArrStr(String jsonArrStr, Class clazz, Map classMap)
{
JSONObject jsonObj = JSONObject.fromObject(jsonArrStr);
return JSONObject.toBean(jsonObj, clazz, classMap);
}
/**
* string listBean
* @param jsonArrStr
* @param clazz
* @return list
*/
@SuppressWarnings("unchecked")
public static List getListFromJsonArrStr(String jsonArrStr, Class clazz) {
JSONArray jsonArr = JSONArray.fromObject(jsonArrStr);
List list = new ArrayList();
for (int i = 0; i < jsonArr.size(); i++)
{
list.add(JSONObject.toBean(jsonArr.getJSONObject(i), clazz));
}
return list;
}
/**
* string listBean List<Student> Student List<Teacher>
* @param jsonArrStr
* @param clazz
* @param classMap Teacher Map , map.put("teacher",Teacher.class)
* @return
* :
Map classMap = new HashMap();
// Parent
Teacher p = new Teacher();
classMap.put("teacher", p.getClass());
List mlist = JSONTransfer.getListFromJsonArrStr(resultStr, Student.class, classMap);
*/
@SuppressWarnings("unchecked")
public static List getListFromJsonArrStr(String jsonArrStr, Class clazz, Map classMap)
{
JSONArray jsonArr = JSONArray.fromObject(jsonArrStr);
List list = new ArrayList();
for (int i = 0; i < jsonArr.size(); i++)
{
list.add(JSONObject.toBean(jsonArr.getJSONObject(i), clazz, classMap));
}
return list;
}
/**
* , , list, list list, String
* @param obj
* @return
*/
@SuppressWarnings("unchecked")
public static String getJsonArrStrFromList(Object obj)
{
//
String jsonStr = null;
//
if (obj == null) {
return "{}";
}
//Json
JsonConfig jsonCfg = new JsonConfig();
//
jsonCfg.registerJsonValueProcessor(java.util.Date.class,
new JsonDateValueProcessor(SystemConstants.DateFormat));
// list
if (obj instanceof Collection || obj instanceof Object[]) {
jsonStr = JSONArray.fromObject(obj, jsonCfg).toString();
} else {
jsonStr = JSONObject.fromObject(obj, jsonCfg).toString();
}
return jsonStr;
}
발췌:http://www.cnblogs.com/luckyliu/archive/2012/04/05/2433682.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.