使用Json-lib 包操作java,json转换


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;
 }


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值