json-lib 版本 : json-lib-2.4-jdk15.jar
java object ,map 对象转化 为 json 字符串
public ActionForward getObjectToJson(final HttpServletRequest req,
final HttpServletResponse res, final Map map) throws Exception {
final ContentsVS vs = (ContentsVS) getService("ContentsVS");
try {
// 处理hiberna 延迟加载问题
JsonConfig config = new JsonConfig();
config.setExcludes(new String[] { "handler",
"hibernateLazyInitializer" });
JSONObject json = JSONObject.fromObject(map, config);
res.setContentType("text/plain;charset=GBK");
PrintWriter printwriter = res.getWriter();
printwriter.println(json);
System.out.println(json);
printwriter.flush();
printwriter.close();
return null;
} catch (final Exception e) {
saveErrors(req, e);
}
return null;
}
java collections 接口对象转化 为 json 字符串
public ActionForward getObjectToJson(final HttpServletRequest req,
final HttpServletResponse res, final Collection list)
throws Exception {
final ContentsVS vs = (ContentsVS) getService("ContentsVS");
try {
// 处理hiberna 延迟加载问题
JsonConfig config = new JsonConfig();
config.setExcludes(new String[] { "handler",
"hibernateLazyInitializer" });
JSONArray json = JSONArray.fromObject(list, config);
res.setContentType("text/plain;charset=GBK");
PrintWriter printwriter = res.getWriter();
printwriter.println(json);
System.out.println(json);
printwriter.flush();
printwriter.close();
return null;
} catch (final Exception e) {
saveErrors(req, e);
}
return null;
}
将 符合json 格式 的json 字符串 转化为 java对象 ,T 为 list 模板
public <T> List<T> getJsonToList(T clazz, String jsons) {
List<T> objs = null;
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(jsons);
if (jsonArray != null) {
objs = new ArrayList<T>();
List list = (List) JSONSerializer.toJava(jsonArray);
for (Object o : list) {
JSONObject jsonObject = JSONObject.fromObject(o);
T obj = (T) JSONObject.toBean(jsonObject, clazz.getClass());
objs.add(obj);
}
}
return objs;
}