JSON
1.JS中的对象只有JS自己认识,其他的语言都不认识
2.JSON就是一种格式特殊的字符串,这个字符创可以被任意的语言所识别,并且可以转化为任意语言中的对象,JSON主要用在数据交互
JSON的分类:
1.对象{}
2.数组[]
var obj='{"name":"孙悟空","age":18,"gender":"男"}';
var arr='[1,2,3,"hello",ture]';
json字符串转js对象
后端传过来一个字符串(字符串必须是json格式的字符串),在前端转化为js对象
var obj=JSON.parse=("json字符串");//返回一个js对象
js对象转json字符串
var s=JSON.stringify(js对象);//传入一个js对象,返回一个json对象。
eval() 方法可以执行一段字符串形式的js代码
这个函数可以执行一段字符串形式的js代码,并将执行结果返回
如果说那个eval() 执行的字符串中含有{ },它会将{ }当成是代码块,如果不希望其把{ }当成代码块解析,需要在字符串前后各加一个括号。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>显示鼠标坐标</title>
<style type="text/css">
</style>
</head>
<body>
<script type="text/javascript">
var obj={name:"孙悟空",age:18};//js对象
var s=JSON.stringify(obj);//将对象转化为字符串,注意,JSON的属性名都要写双引号
console.log(s);
var obj1=JSON.parse(s);//将字符串转化为对象
console.log(obj1);//这个时候,打印出来的是一个[object object],表明转化成功了
var t="("+s+")"; //为了防止{}被当做代码块,加一个小括号,让浏览器把它当做整体执行
var duixiang=eval(t);//执行一段js代码并且返回结果,刚刚好执行完是一个js对象
console.log(duixiang);//所以下面打印的,也是[object object]
</script>
</body>
</html>