js中对象和字符串互相转换的方法

今天学习的时候遇到了json_stringify 和 json_parse这两个方法,就好奇他们之间有没有什么相似的地方,
所以就去网上找了一下,接下来,我们一起去了解一下吧
先看下面这段代码

			var obj = {
				'name':'lala',
				'age':19,
				'sex':'nan'
			}
			var arr1 = ['stuid','classid',51];
			var arr2 = ['name','age',11];
			//	一个参数时
			console.log(JSON.stringify(obj));
			//	两个参数时    第二个参数为数组,可以看到只显示了name和age,因为sex属性在数组arr2里没有,所以没显示
			var doublearr = JSON.stringify(obj,arr2);
			console.log(doublearr);
			//	两个参数时    二个参数都为数组,只会显示第一个
			console.log(JSON.stringify(arr1,arr2));
			//	两个参数时    第二个参数为函数,返回json类型格式的字符串
			var doubargment = JSON.stringify(obj,function (key,value) {
				return value;
			});
			console.log(doubargment);
			//	三个参数时    第三个参数为分隔符,可以看到都是以gbk开头的
			console.log(JSON.stringify(obj,function (key,value) {
				return value;
			},'gbk'));

运行效果如下
在这里插入图片描述
我们接着看一下json_parse的用法

			var str = '{"name":"lala","age":13,"sex":{"fist":"nan","two":"nv"}}';
			var obj = JSON.parse(str);
			console.log(typeof obj)
			console.log(obj);

运行效果如下
在这里插入图片描述
可以看到我们的字符串str被转换成了对象,综上两个案例可以发现,json_stringify的作用就是将对象转换成json类型格式的字符串,而json_parse则是将js类型格式的字符串转换成对象

注:json_parse必须要是json类型格式的才能转换,不然就会报错,纯数字和字符串’null’不报错

好啦,到了我们今天的总结时间啦

  1. json_stringify ---- 将对象转换为json格式的字符串
    1. 语法:JSON.stringify(value 对象[, replacer函数/数组] [, space分隔符])
    2. 要是第一个参数和第二个参数都是数组,只会显示第一个
    3. 对象+数组 显示共有的,对象属性 == 数组值
    4. 分隔符如果是一个数字的话,那么它就定义缩进几个字符,当然 如果大于10 ,则最大值为10
  2. json_parse ---- 将json格式的字符串转换为json对象
    1. 语法:json_parse(json-str)

今天的学习到这就结束咯,拜拜啦~

猜你喜欢

转载自blog.csdn.net/Smallwhitestrive/article/details/120927873