JSON 的本质是一种数据交换格式
        数据交换格式,是一种特殊规定的、可以记录数据的文本格式,一般用于传输数据
        使用数据交换格式的好处在于:

只要能解析同一种数据交换格式的文本文件,那么即便是用不同语言写的程序,也能相互传输数据


JSON 是 JavaScript Object Notation 的首字母缩写,意思是 JavaScript 对象表示法

        之所以这么叫是因为 JSON 这种数据交换格式是基于 JavaScript 语言中对象的表示语法的

        但只是参考了语法而已,实质是完全不同的东西,一个是数据交换格式,一个是脚本语言中的对象写法

        而且语法上也有一些区别:

                1. JavaScript 中的对象和所有面向对象语言中的对象一样,拥有属性和函数 (方法)

            JSON 中的“对象”(只是一种文本格式) 只有属性,没有方法

                2. JSON 中的键值对中的键必须有双引号,而 JavaScript 中的对象的属性键值对中的键,可用可不用双引号


                3. JSON 中的字符串必须用双引号,而 JavaScript 中可以用双引号也可以用单引号


JavaScript 中的 eval() 方法

        如果填入的参数字符串是一个 JavaScript 脚本代码,那么这个函数执行的时候,会直接执行里面的代码

        如果填入的是外加 ( ) 的 JSON 格式字符串作为方法参数,这个函数会将其加载为一个 JavaScript 对象并作为返回值返回

        所以常常用 var json = eval("("+jsonString+")"); 来将获取的 JSON 字符串转换为 JavaScript 对象


        但是由于 eval() 函数会执行脚本字符串,所以如果传递的数据被黑,被更换为恶意的 JavaScript 代码就会有安全风险


JavaScript 中的 JSON.parse() 方法

        现在一般使用 JSON.parse() 函数来将 JSON 字符串转换为 JavaScript 对象

        JSON.parse() 只解析 JSON 字符串,不执行 JavaScript 代码,但一些低版本的浏览器不支持这个函数