JavaScript basic study notes (6)

JSON

1. What is json

Insert picture description here

2. Grammar rules

Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here

3. Use of JSON

Insert picture description here
Insert picture description here
Insert picture description here

4. Points to note

There can only be json-related statements in the json file. Do not write other statements (including comments), otherwise an error will occur. Ajax is usually used when simulating a json file on the front end.

function ajaxdata(){
    
        //获取json数据
	$.ajax({
    
    
		url:"data/jsdata.json",
		type:"get",
		dataType:"json",		
		success:function(res){
    
    			
			data = res;
			return data;
		},
		error:function(data){
    
    
			console.log(data);
		},
		async:false   //处理同步异步问题,默认为ture为异步		
	});
}

5. Other content

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>	
		<!--
			如果需要兼容IE7及以下的JSON操作,则可以通过引入一个外部的js文件来处理
		-->
		<script type="text/javascript" src="js/json2.js"></script>
		<script type="text/javascript">			
			/*
			 * JSON
			 * 	- JS中的对象只有JS自己认识,其他的语言都不认识
			 * 	- JSON就是一个特殊格式的字符串,这个字符串可以被任意的语言所识别,
			 * 		并且可以转换为任意语言中的对象,JSON在开发中主要用来数据的交互
			 * 	- JSON
			 * 		- JavaScript Object Notation JS对象表示法
			 * 		- JSON和JS对象的格式一样,只不过JSON字符串中的属性名必须加双引号
			 * 			其他的和JS语法一致
			 * 		JSON分类:
			 * 			1.对象 {}
			 * 			2.数组 []
			 * 
			 * 		JSON中允许的值:
			 * 			1.字符串
			 * 			2.数值
			 * 			3.布尔值
			 * 			4.null
			 * 			5.对象
			 * 			6.数组
			 */
			
			//创建一个对象			
			var arr = '[1,2,3,"hello",true]';			
			var obj2 = '{"arr":[1,2,3]}';			
			var arr2 ='[{"name":"孙悟空","age":18,"gender":"男"},{"name":"孙悟空","age":18,"gender":"男"}]';
			
			/*
			 * 将JSON字符串转换为JS中的对象
			 * 	在JS中,为我们提供了一个工具类,就叫JSON
			 * 	这个对象可以帮助我们将一个JSON转换为JS对象,也可以将一个JS对象转换为JSON
			 */
			
			var json = '{"name":"孙悟空","age":18,"gender":"男"}';
			
			/*
			 * json --> js对象
			 * 	 JSON.parse()
			 * 		- 可以将以JSON字符串转换为js对象
			 * 		- 它需要一个JSON字符串作为参数,会将该字符串转换为JS对象并返回
			 */
			
			var o = JSON.parse(json);
			var o2 = JSON.parse(arr);
			
			//console.log(o.gender);
			//console.log(o2[1]);
			
			var obj3 = {
     
     name:"猪八戒" , age:28 , gender:"男"};
			/*
			 * JS对象 ---> JSON
			 * 	JSON.stringify()
			 * 		- 可以将一个JS对象转换为JSON字符串
			 * 		- 需要一个js对象作为参数,会返回一个JSON字符串
			 */
			
			var str = JSON.stringify(obj3);
			//console.log(str);
			
			/*
			 * JSON这个对象在IE7及以下的浏览器中不支持,所以在这些浏览器中调用时会报错
			 */			
			var str3 = '{"name":"孙悟空","age":18,"gender":"男"}';			
			JSON.parse(str3);
		</script>
	</head>
	<body>
	</body>
</html>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">	
			var str = '{"name":"孙悟空","age":18,"gender":"男"}';		
			/*
			 * eval()
			 * 	- 这个函数可以用来执行一段字符串形式的JS代码,并将执行结果返回
			 * 	- 如果使用eval()执行的字符串中含有{},它会将{}当成是代码块
			 * 		如果不希望将其当成代码块解析,则需要在字符串前后各加一个()
			 * 
			 * 	- eval()这个函数的功能很强大,可以直接执行一个字符串中的js代码,
			 * 		但是在开发中尽量不要使用,首先它的执行性能比较差,然后它还具有安全隐患
			 */	
			var str2 = "alert('hello');";			
			var obj = eval("("+str+")");		
			//console.log(obj);		
		</script>
	</head>
	<body>
	</body>
</html>

This blog is a compilation of your own study notes. It is only for learning and communication, and should not be used for commercial purposes. If there is any infringement, please contact the blogger to delete it. The blogger QQ: 1105810790

Guess you like

Origin blog.csdn.net/qq_41880073/article/details/112849405