json和java的转换

用json,需导入6个包,如下:

json-lib-2.4-jdk15.jar

ezmorph-1.0.6.jar

commons-logging.jar

commons-lang.jar

commons-collections.jar

commons-beanutils.jar


把不存储对象的Map转换成json, 要使用jsonObject对象:

Map<String, Object> map = new HashMap<String, Object>();
		map.put("userId", 1001);
		map.put("userName", "张三");
		map.put("userSex", "男");
		JSONObject jsonObject = JSONObject.fromObject(map);
		System.out.println(jsonObject);
		PrintWriter out = resp.getWriter();
		out.print(json);
		out.close();

把存储对象的Map转换成json, 要使用jsonObject对象,key不能为"1"

resp.setCharacterEncoding("utf-8");
		PrintWriter out = resp.getWriter();
		User user = new User();
		user.setId(2);
		user.setName("诸葛");
		Map map = new HashMap();
		map.put("a", user);
		JSONObject json = JSONObject.fromObject(map);
		out.print(json);

ajax回调方法解析json字符串,用eval(“()”)生成对象

function callback(){
		//条件也可省略不写
	  	if(xmlhttp.readyState==4 && xmlhttp.status==200){
	  		var o = eval("("+ xmlhttp.responseText +")");
	  		alert(o.a.name);
	  	}
	}


把存储对象的Map转换成json, 要使用JSONArray对象

resp.setCharacterEncoding("utf-8");
		PrintWriter out = resp.getWriter();
		User user = new User();
		user.setId(2);
		user.setName("诸葛");
		Map map = new HashMap();
		map.put("a", user);
		JSONArray json = JSONArray.fromObject(map);
		out.print(json);


ajax回调方法解析json字符串

function callback(){
		//条件也可省略不写
	  	if(xmlhttp.readyState==4 && xmlhttp.status==200){
	  		var o = eval("("+ xmlhttp.responseText +")");
	  		for(var i = 0 ; i < o.length ; i++){
	   			alert(o[i].a.name);
	   		}
	  	}
	}

将数组转换为JSON,数组和List,Set,对象都可以用JSONArray或JSONObject,ajax解析如上方式。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值