发表于: 2020-06-26 19:40:47

1 2119


今天完成的事情:

1.回顾任务


明天·计划的事情:

1.回顾任务


遇到的问题和收获:

JSON

JSON格式是一种文件传输的格式

JSON是一种格式,基于文本,优于轻量,用于交换数据

JSON是由一对大括号里面,由键值对组成,键名必须是双引号

JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质上是一个字符串。

对比内容JSONJS对象
键名必须是加双引号可允许不加、加单引号、加双引号
属性值只能是数值(10进制)、字符串(双引号)、布尔值和null, 也可以是数组或者符合JSON要求的对象, 不能是函数、NaN, Infinity, -Infinity和undefined爱啥啥
逗号问题最后一个属性后面不能有逗号可以
数值前导0不能用,小数点后必须有数字没限制


为什么需要转义?

在js中我们使用的js对象进行处理,但是在与后端数据交换的时候,我们需要发送规定的json格式的字符串,所以在给后端发送或接受数据的时候,需要转义

json如何处理转义?

json字符串转js对象,调用parse方法:

js对象 = JSON.parse(json字符串);

js对象转json字符串,调用stringify方法

json字符串 = JSON.stringify(js对象);

由JSON字符串生成JSON对象时的转义问题?

原因:在用JSON.parse解析JSON对象时会对其中的转义符进行两次解析

比如'{"a":"b","b":"\\\\"}' //{a: "b", b: "\"},

  首先解析器提取单引号括起来的字符串时认为第一个‘\’是用来转义第二个‘\’的 ,第三个‘\是用来’转义第四个‘\’, 结果输出字符串是{“a”:“b”,“b”:"\\"}。

  然后正式转为js对象的时候还有一次转义, 也就是实际输出字符转中的第一个\转义第二个\(此时只有两个\),结果输出字符串是{“a”:“b”,“b”:"\"}。

所以说我们想要输出"\“时需要输入四个”\",不然会出错。






返回列表 返回列表
评论

    分享到