ajax之json数据交换格式学习

日期:2018—10—4

今日学习将Javabean对象转换成json数据对象
	1、学习ajax数据交换
	2、学习如何将Javabean对象转换成json数据对象
	
目前,学习了ajax响应的数据格式有3种(字符串,xml,json),今晚学习ajax中最受欢迎的一种数据交换格式:json;json数据交换格式简单的说就是将从服务器中查询并获取到的Javabean对象的数据转换成json数据格式响应给客户端。今天晚上就学习如何将Javabean数据格式转换成json数据格式响应给客户端
一、json简介
		1、什么是json?
			说简单点,json就是js提供的一种数据交换格式,目前在ajax中最受欢迎。
		2、json语法
			{}:这对大括号是表示一个对象
				(1) 其中属性名必须使用双引号括起来,单引号不可以!
				(2) 其中属性值可以是以下几种
					a.null
					b.数值:数值不用双引号
					c.字符串
					d.数组:数组需要使用[]括起来
					e.boolean值:true和false
			比如:
				var person = {"name":"ZhangSan" , "age":18 , "sex":"male"};
		3、 json与xml比较
			可读性:xml胜出
			解析难度:json本身就是js对象,所以简单
			流行度:xml已经流行好多年了,在ajax领域,json更受欢迎
二、如何将Javabean转换成json呢?
	在这里,我们直接使用一个工具来解决,即json-lib.jar包。这个包有什么用呢?简单的说就是使用其中的一些方法将Javabean转换成json数据格式。
	1.项目中json所使用的jar包
		 - 	commons-beanutils-1.8.3.jar
		 - 	commons-collections-3.2.1.jar
		 - 	commons-lang-2.5.jar
		 - 	commons-logging-1.1.1.jar
		 - 	ezmorph-1.0.6.jar
		 - 	json-lib-2.4-jdk15.jar
		 - 	xom-1.1.jar
		 这里的jar包作为学习已经够用,就不在列出其他jar包
	2.工具中的核心类介绍
		JSONObject 类:该类继承了Map类,其实质就是操作Map
			1).toString():该方法将map对象转换成json对象,并转换成字符串类型
			2).fromObject(object):这个方法将Javabean对象转换成json对象,参数object对象是实例对象。
		JSONArray类:该类则继承了List类
			1).toString():该方法将List对象转换成json对象,并转换成字符串类型
			2).fromObject(list):该方法将list转换成json对象
	3.代码实例
	public void test01() {
				JSONObject map = new JSONObject();
				map.put("name", "ZhangSan");
				map.put("age", 18);
				map.put("sex", "famle");
					
				String s = map.toString();	//使用map的toString()方法,直接将json对象转换成字符串
				System.out.println(s);
					
					/**
					 * 结果:
					 * 	{"name":"ZhangSan","age":18,"sex":"famle"}
					 */
				} 
				
				@Test
				public void test02() {
					Person p = new Person("zhangSan",23,"male");
					JSONObject map = JSONObject.fromObject(p);	//这个方法可以直接将javab对象转换成json对象
					System.out.println(map.toString());
					
					/**
					 * 结果:
					 * 	{"age":23,"name":"zhangSan","sex":"male"}
					 */
				}
				
				@Test
				public void test03() {
					Person p1 = new Person("zhangSan",23,"famale");
					Person p2 = new Person("liSi",24,"male");
					
					JSONArray arr = new JSONArray();
					arr.add(p1);
					arr.add(p2);
					System.out.println(arr.toString());
					
					/**
					 * 结果:
					 * 	[{"age":23,"name":"zhangSan","sex":"famale"},
					 * 	 {"age":24,"name":"liSi","sex":"male"}]
					 */
				}
				@Test
				public void test04() {
					Person p1 = new Person("zhangSan",23,"famale");
					Person p2 = new Person("liSi",24,"male");
					List<Person> listPerson = new ArrayList<Person>();
					listPerson.add(p1);
					listPerson.add(p2);
					
					System.out.println(JSONArray.fromObject(listPerson));
					
					/**
					 * 结果:
					 * [{"age":23,"name":"zhangSan","sex":"famale"},
					 *  {"age":24,"name":"liSi","sex":"male"}]
					 */
				}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值