Solo  当前访客:1 开始使用
raincat 的个人博客
记录精彩的程序人生

JSON学习

作者:raincat | 更新日期: 2021-04-07 17:36 | 浏览数: 0 | 评论数: 0

标签:

JSON学习

json学习——特殊格式的字符串

  1. js中的对象,只有js认识,其他语言均不认识
  2. json就是一种特殊格式的字符串,这个字符串可以被任意语言识别,并且可以转换为任意语言中的对象,json在开发中主要用来进行数据的交互

json

  • javascript object notation Js对象表示法
  • json与Js对象的格式一样,但是Json字符串中的属性名必须加双引号,其他与JS语法一致

JSON分类

  1. 对象 ——{使用括号包裹}
  2. 数组——[使用方括号包裹]

JSON中允许的值

  • 字符串
  • 数值
  • 布尔值
  • null
  • 对象
  • 数组

json实例

//创建一个JSON对象
var obj = '{"name":"孙悟空","age":"18","gender":"男"}';
//创建一个JSON数组
var arr = '[1,2,3,"hello","tom"]';
//创建一个JSON数组对象
var arrobj = '{"arr":[1,2,3]}';
//创建一个JSON对象数组
var objarr = '[{"name":"孙悟空","age":"18","gender":"男",
		"name":"孙悟空","age":"18","gender":"男",
		"name":"孙悟空","age":"18","gender":"男"}]'

将JSON转换为JS对象

  • 在JS中,为我们提供了一个工具类,就叫json
  • json工具类可以将一个JSON转换为JS对象,也可以将一个js对象转换为JSON
  • JSON——>js对象
    • JSON.parse()
      • 可以将JSON字符串转换为JS对象
      • 它需要一个JSON字符串作为参数,会将该字符串转换为JS对象并返回
//定义json格式对象数据
		var objson = '{"name":"tom","age":"18","gender":"man"}';
			console.log(typeof objson);
			console.log(objson);
			// 将json格式转换为js对象,使用JSON.parse()函数
		var obj = JSON.parse(objson);
			console.log(typeof obj);
			console.log(obj);

运行结果

image.png

  • JS对象 ---> JSON
    • JSON.stringify()
    • 可以将一个JS对象转换为JSON字符串
    • 需要一个js对象作为参数,会返回一个JSON字符串
// 定义对象
		var objs = {name:"tom",age:"18",gender:"man"};
			console.log(typeof objs);
			console.log(objs);

		// 转换json数据类型
		var jsonStr = JSON.stringify(objs);
			console.log(typeof jsonStr);
			console.log(jsonStr);

运行结果
image.png

JSON注意事项

  1. JSON这个对象在IE7及以下的浏览器中不支持,所以在这些浏览器中调用时会报错
    解决方法
    引入JSON实现的js文件

    json2.7z点击下载对应JSON格式的JS代码文件,为压缩包,解压引入项目即可使用

    关于evel()函数的使用

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