JavaWeb笔记[JSON、AJAX、i18n]

1、什么是JSON?

JSON( JavaScript Object
Notation)是一种轻量级的数据交换格式。易于人阅读和编写·同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,而且很多语言都提供了对json的支持。这样就使得Js成为理想的数据交换格式。

json是一种轻量级的数据交换格式。

轻量级指的是跟xml做比较。

数据交换指的是户端和服务器之间业务数据的传递格式。

1、JSON在JavaScript中的使用。

1.1.1、json的定义

json是由键值对组成,并且由大括号()包围。

每个键由引号引起来。

键和值之间使用冒号进行分隔。

多组键值对之间进行逗号分隔。

	var jsonObj = {
				"key1":12,
				"key2":"abc",
				"key3":true,
				"key4":[11,"arr",false],
				"key5":{
					"key5_1":551,
					"key5_2":"key5_2_value"
				},
				"key6":[{
					"key6_1_1":6611,
					"key6_1_2":"key6_1_2_value"
				},{
					"key6_2_1":6621,
					"key6_2_2":"key6_2_2_value"
				}]
			};

json就是一个对象 object。

1.1.2、json的访问

json本身是一个对象。
json中的key可以理解为是对象中的一个属性。

json中的key访问就跟访问对象的属性一样:
json对象.key

alert(jsonObj.key1);
alert(jsonObj.key2);
alert(jsonObj.key3);
	for (var i = 0;i<jsonObj.key4.length; i++){
	alert(jsonObj.key4[i]);
	}
alert(jsonObj.key5.key5_1)
alert(jsonObj.key5.key5_2)
 alert(jsonObj.key6);//得到json数组
//取出来每一个元素都是json对象
			var jsonItem = jsonObj.key6[0];
			var jsonItem2 = jsonObj.key6[1];
			alert(jsonItem.key6_1_1);
			alert(jsonItem.key6_1_2);
			alert(jsonItem2.key6_2_1);
			alert(jsonItem2.key6_2_2);

1.1.3、json的两个常用方法

json的存在有两种形式。
一种是:对象的形式存在,我们叫它json对象。
一种是:字符串的形式存在,我们叫它json字符串。

一般要操作json中的数据时,需要json对象的格式。
一般要在客户端和服务器之间进行数据交换时,使用json字符串。

JSON.stringify() json对象–>json字符串
JSON.parse() json字符串–>json对象

1.2、JSON在java中的使用

1.javaBean和json的互转

创建Gson对象实例
Gson gson = new Gson();
toJson方法可以把java对象转换成为json字符串
String personJsonString = gson.toJson(person);
fromJson把json字符串转换回Java对象
第一个参数是json字符串
第二个参数是转换回去的Java对象类型
Person person1 = gson.fromJson(personJsonString, Person.class);

2.List和json的互转

创建Gson对象实例
Gson gson = new Gson();
把List转换为json字符串

   String personListJsonString = gson.toJson(personList);
        System.out.println(personListJsonString);
        List<Person> list = 
        //这里需要创建类基础typeof
        gson.fromJson(personListJsonString, new PersonListType().getType());
        System.out.println(list);
        Person person = list.get(0);
        System.out.println(person);
3.map和json的互转

同上
注意:
由于实际开发中,这个类只完成了继承,有很多Type类,会占用虚拟机很多字节,这样更加简单,随时new随时用。

Map<Integer,Person> personMap2 = gson.fromJson(personMapJsonString,new TypeToken<HashMap<Integer,Person>>(){}.getType());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值