json

1 json定义

JSON(JavaScript Object Notation)是一种数据交换格式(两种语言相互传递数据使用的格式)

2 结构

json有两种结构
a) 对象:是一种键值对,结构为:{k1:v1,k2:v2}

<body>
<script type="text/javascript">
	function testjson(){
	//1,原始写法
	var personObj = new Object();
	personObj.name = "zhangsan"; 
	personObj.age = 19;
	console.log(personObj.name);
	//json 结构:对象
	var person = {"name":"zhangsan","age":18}
		console.log(person.name);
	}
</script>
</body>

b) 数组:只有值,结构为[v1,v2]

<body>
<script type="text/javascript">
	function testjson(){
	//原始写法
	var arr = new Array();
	//json 结构:数组
	var persons = [{"name":"zhangsan","age":17},			{"name":"lisi","age":16},{"name":"wangwu","age":20}];
	console.log(persons[1].age)	
	}
</script>
</body>

3 json作用

a) 在js中的使用:
i. 将json对象转化为json格式的字符串:JSON.stringify()。(作用是方便传输交互)

<body>
<script type="text/javascript">
	function testjson(){
		var p = {"name":"zhangsan","age":21};
		var pstr =  JSON.stringify(p);
		console.log(pstr);
	}
</script>
</body>

ii.将json格式的字符串转化为json对象:JSON。parse()。(作用是方便操作代码)

<body>
<script type="text/javascript">
   function testjson(){
   	var p 2=  '[{"name":"laoxiao","age":18},{"name":"laodeng","age":18}]';
   	var p2str =  JSON.parse(p2);
   	console.log(pArray[1].name);
   }

/	//eval()也可以解析json格式的字符串
   	//eval函数:解析字符串格式的js代码,若解析成功,执行该js代码
   	eval("var ps = "+p2str);
   	console.log(ps[1].name);
</script>
</body>

b) 在java中的作用:
i.将json格式的字符串转化为java bean (反序列化)fastjson(阿里巴巴开发的)
ii.将java bean转化为json格式的字符串 (序列化)

public class TestJson {

	public static void main(String[] args) {
		//1.将json格式的字符串转化为java bean	(反序列化)
		String str = "{\"id\":23,\"username\":\"zhangsan\",\"password\":\"123456\"}";
		User user = JSON.parseObject(str, User.class);
		
		//2.将java bean转化为json格式的字符串 (序列化)
		User user2 = new User(123, "laowang", "123456", "老王", "110");
		String jsonString = JSON.toJSONString(user2);
		System.out.println(jsonString);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值