前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >json基础+实例5(最后几个函数哈parse stringify eval)加油(后面是实例了哈)

json基础+实例5(最后几个函数哈parse stringify eval)加油(后面是实例了哈)

作者头像
贵哥的编程之路
发布2020-10-28 15:22:13
1.9K0
发布2020-10-28 15:22:13
举报
文章被收录于专栏:用户7873631的专栏

//记住,parse是字符串转换成对象,所以要先写出字符串 var str=’{“name”:“黄菊华”,“dizhi”:“浙江杭州”}’; 记住stringify函数是对象转换成字符串,所以先写出对象 var obj1={“xing”:“黄”,“ming”:“菊华”}; 核心来了,兄弟们,为什么 var str={“name”:“黄菊华”,“dizhi”:“浙江杭州”}; 不行? 因为不是标准的哦,必须是标准的才能解析哦 parse是把转换成对象的哦(JS) 记住哦,兄弟们,var str=’{“name”:“黄菊华”,“dizhi”:“浙江杭州”}’;这是字符串,写parse就这种标准写法

代码语言:javascript
复制
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JSON.parse()</title>

</head>

<body>

    <h2>使用 JSON.parse() 方法将数据转换为 JavaScript 对象</h2>
    
	<div id="demo01"></div>	
    
    <script type="text/javascript">
 		var str='{"name":"黄菊华","dizhi":"浙江杭州"}';
		var obj = JSON.parse(str);
		document.getElementById("demo01").innerHTML= obj.name;
	</script>


</body>
</html>
在这里插入图片描述
在这里插入图片描述

核心是:这个函数是转换成字符串的哈。跟上面哪一个正好相反!!! 记住,兄弟们,这个函数是转换成·字符串的函数, 用 var obj1=’{“xing”:“黄”,“ming”:“菊华”}’;不行,为什么,因为这本来就是字符串啊,记住了,这个函数要转必须要对象的,也即是这样 var obj1={“xing”:“黄”,“ming”:“菊华”}; 记住啊。 对象什么是对象。这就是啊 var obj1={“xing”:“黄”,“ming”:“菊华”}; 看东西要看完啊,兄弟们!!!

代码语言:javascript
复制
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>

</head>

<body>

    <h2>JSON.stringify1-json转字符串</h2>
    
	<div id="demo01"></div>	
    <div id="demo02"></div>	
    
    <script type="text/javascript">
 		var obj1={"xing":"黄","ming":"菊华"};
		var obj2=["黄","菊","华"];
		
		var j1=JSON.stringify(obj1)
		document.getElementById("demo01").innerHTML = j1;
		
		var j2=JSON.stringify(obj2)
		document.getElementById("demo02").innerHTML = j2;
		
		
	</script>


</body>
</html>
在这里插入图片描述
在这里插入图片描述

在JS中将JSON的字符串解析成JSON数据格式eval函数 核心:为什么要 eval这里要添加( “(”+ str + “)” );呢?

var obj=eval( “(”+ str + “)” );//转换为json对象

为什么eval这里要添加( “(”+ str + “)” )呢?

原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。(意思是{}是对象得执行,不是把他当做语句块啊,懂?语句块他就不是对象啦)

加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式转化为对象,而不是作为语句来执行。我说的没错把,兄dei

代码语言:javascript
复制
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1.4-JSON 数组02-对象中的数组</title>

</head>

<body>

    <h2>JSON 数组02-对象中的数组</h2>
    
	<div id="demo01"></div>	
    
    <script type="text/javascript">
 		var str='{"xing":"黄","ming":"菊华"}';
		var obj=eval( "("+ str + ")" );
		document.getElementById("demo01").innerHTML=obj.xing;
	</script>


</body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档