JSON 与 JavaScript 对象

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 代码,但一些低版本的浏览器不支持这个函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值