JSON是一种基于文本的轻量级的数据交换格式,可以被任何的编程语言读取和作为数据格式来传递。
在项目开发中,使用JSON作为前后端数据交换的方式,在前端通过将一个符合JSON格式的数据结构序列化为JSON字符串,任何将它传递到后端,后端通过JSON格式的字符串解析后生成对应的数据结构,以此来实现前后端数据的一个传递。
因为JSON的语法基本上是基于JS的,因此很容易将JSON和js中的对象弄混,但是应该要注意的是JSON和js中的对象不是一回事,JSON中的对象格式更加严格,比如说在JSON中属性值不能为函数,不能出现NaN注意的属性值等,因此大多数js对象是不符合JSON对象的格式的。
在js中提供了两个函数来实现js数据结构和JSON格式的转换处理:
1、JSON.stringify()函数,通过传入一个符合JSON格式的数据结构,将其转换为一个JSON字符串。如果传入的数据结构不符合JSON格式,那么在序列化的时候会对这些值进行对应的特殊处理,使其符合JSON的规范。在前端向后端发送数据时,可以通过调用这个函数将数据对象转化为JSON格式的字符串。
2、JSON.parse()函数,这个函数用来将JSON格式的字符串转换为一个js数据结构,如果传入的字符串不是标准的JSON格式的字符串的话,则会抛出错误。当从后端接收到JSON格式的字符串时,可以通过这个函数来将其解析为一个js数据结构,以此来进行数据的访问。