JavaScript,是一门运行在浏览器端的脚本语言。
JavaScript 是由网景公司在 1995 年发布的。
当时网景公司主要是做浏览器方面,他们想把 Java 语言应用在浏览器端,能够实现一些比如用户登录并验证的工作。招聘了一个新员工,叫做布兰登.艾奇,布兰登对 Java 没有兴趣,为了应付公司的任务,只用了 10 天时间就设计出了 JavaScript 这门语言。
但是 JavaScript 发展至今,随着前端开发异常的火爆,它已经是浏览器端的龙头语言了。
JavaScript 中的所有事物都是对象,比如字符串、数字、数组、日期等等。在 JavaScript 中,对象是拥有属性和方法的数据。
Json 是 JavaScript 对象的字符串表示法,它使用文本表示一个 JavaScript 对象的信息,其本质是一个字符串。
我们通常说的 Json 对象,是 Json 格式的 JavaScript 对象或是符合 Json 数据结构要求的 JavaScript 对象。
区别 | Json | Javascript对象 |
---|---|---|
含义 | 仅仅是一种数据格式 | 表示类的实例 |
传输 | 可以跨平台数据传输,速度快 | 不能传输 |
键 | 键值对方式,键必须加双引号 | 键值对方式,键不加引号 |
值 | 值不能是方法函数,不能是 undefined/NaN | 值可以是函数、对象、字符串、数字、boolean 等 |
var jsonStr1 = JSON.stringify([要转换的对象]);
var jsonStr2 = JSON.stringify([要转换的对象],[转换函数]);
var jsonStr3 = JSON.stringify([要转换的对象],[转换函数],[空白处理方法);
将 JavaScript 对象转成 Json 字符串,需要使用 JSON.stringify() 函数。在 JSON.stringify() 函数里面,传入我们需要转换的 JavaScript 对象即可。
var obj1 = eval('('+str+')');
var obj2 = JSON.parse(str);
将 Json 字符串转 JavaScript 对象,有两种方法,一种是使用 eval() 函数,一种是使用 JSON.parse() 函数。
使用 eval() 函数的方式,我们只需要将待转换的 Json 字符串传入 eval() 函数即可。使用 JSON.parse() 函数的方式,我们只需要将待转换的 Json 字符串传入 JSON.parse() 函数即可。
Json 默认不支持注释,不过我们可以使用 KEY 作为注释。
{
"?site":"url",
"site":"www.haicoder.net"
}
这里我们使用了 ?KEY
的形式来作为 KEY
的注释。因此我们在读取该 Json 串的时候,必须手动将 ?
开头的 KEY
过滤掉。
{
"www.haicoder.net":[
{
"HTML":["HTML", "CSS", "HTML5", "CSS3", "BOOTSTRAP"]
},
{
"JavaScript":["JavaScript", "ES6", "JQuery", "Vue.js"]
},
{
"Server":["Golang", "Java", "Php"]
}
]
}
我们创建了一个 Json 对象数组,该数组有三个元素,其中每一个元素都是一个对象,并且每个对象里面也都是一个数组结构。
我们创建一个 haicoder.html 的文件,并输入以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript对象转成Json字符串</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
var JsonStr = JSON.stringify({name:"嗨客网", site:"www.haicoder.net", module:"JavaScript"});
console.log("JsonStr =", JsonStr);
</script>
</head>
<body>
</body>
</html>
用浏览器打开该文件,浏览器输出如下图所示:
我们看到,我们传入的是 JavaScript 对象,最终在浏览器的控制台输出了 Json 字符串。即,我们使用 JSON.stringify() 函数,成功的将 JavaScript 对象转成了 Json 字符串。
我们创建一个 haicoder.html 的文件,并输入以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Json字符串转JavaScript对象</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
var jsonStr = '{"name":"嗨客网","site":"www.haicoder.net","module":"JavaScript"}';
var obj = eval('('+jsonStr+')');
console.log("JavaScript Obj =", obj);
</script>
</head>
<body>
</body>
</html>
用浏览器打开该文件,浏览器输出如下图所示:
我们看到,我们传入的是 Json 字符串,最终在浏览器的控制台输出了 Json 对象。即,我们使用 eval() 函数,成功的将 Json 字符串转成了 JavaScript 对象。
我们创建一个 haicoder.html 的文件,并输入以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Json字符串转JavaScript对象</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
var jsonStr = '{"name":"嗨客网","site":"www.haicoder.net","module":"JavaScript"}';
var obj = JSON.parse(jsonStr);
console.log("JavaScript Obj =", obj);
</script>
</head>
<body>
</body>
</html>
用浏览器打开该文件,浏览器输出如下图所示:
我们看到,我们传入的是 Json 字符串,最终在浏览器的控制台输出了 Json 对象。即,我们使用 JSON.parse() 函数,成功的将 Json 字符串转成了 JavaScript 对象。
Json 是 JavaScript 对象的字符串表示法,它使用文本表示一个 JavaScript 对象的信息,其本质是一个字符串。通常说的 Json 对象,是 Json 格式的 JavaScript 对象或是符合 Json 数据结构要求的 JavaScript 对象。
JavaScript 对象转 Json 字符串语法:
var jsonStr1 = JSON.stringify([要转换的对象]);
Json 字符串转 JavaScript 对象语法:
var obj1 = eval('('+str+')');
var obj2 = JSON.parse(str);