「这是我参与2022首次更文挑战的第27天,活动详情查看:2022首次更文挑战」
大家好,我是 摸鱼小公举,真正的强者,不会怨天尤人,如果想不被别人看轻,你就只有付出比别人多十倍百倍的努力,才能站的比别人更高!上一篇文章是 JS的offsetWidth、clientWidth、scrollWidth等属性的描述。今天我们一起来学习一下JavaScript JSON 数据格式。
JSON是什么?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,方便人阅读和编写。JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null 。它基于 JavaScript 语法,但与之不同:JavaScript不是JSON,JSON也不是JavaScript。一般前端请求接口时,前端设置后台返回JSON数据格式。
在JSON中,有两种结构:对象和数组。
对象的数据格式
var obj = {"name":"Amy", "sex":"女"}
数组的数据格式
var arr = [ {"name":"Amy", "sex":"女"} , {"name":"Anna", "sex":"女"} , {"name":"Tom", "sex":"男"} ,]
相互转换的两种方法
Js对象转JSON数据
JSON.stringify() 返回与指定值对应的JSON字符串
报错了,其实这个错误提示是告诉我们数据有特殊字符;这个错误用此方法常常报的一种错误。看起来代码好像没问题,但是仔细看其实是我的数据用了中文的逗号。
var arr=[
{"name":"Amy", "sex":"女",age:18} ,
{"name":"Anna", "sex":"女",age:28} ,
{"name":"Tom", "sex":"男",age:25} ,
]
var arrStr=JSON.stringify(arr)
console.log(arrStr) //error: Uncaught SyntaxError: Invalid or unexpected token
var arr=[ {"name":"Amy", "sex":"女"} , {"name":"Anna", "sex":"女"} , {"name":"Tom", "sex":"男"} ]
var arrStr=JSON.stringify(arr)
console.log(arrStr)
//打印出数据如下
//[{"name":"Amy","sex":"女"},{"name":"Anna","sex":"女"},{"name":"Tom","sex":"男"}]
JSON 转换 JS 对象
JSON.parse() 解析JSON字符串并返回对应的值,实例如上,反过来转换即可
应用场景
1,通过url传参为对象时会用到。在当前页面用JSON.stringify()传数据,在下一个页面接收数据用JSON.parse()转换。
2,vuex 永久保存数据时用把数据存在sessionStorage,获取数据用JSON.parse()转换,存数据时用JSON.stringify()
JSON 与 javaScript 的区别
| 区别 | JSON | JavaScript |
|---|---|---|
| 含义 | 只是一种数据格 | 表示类的实例 |
| 传输 | 可跨平台数据传输,速度快 | 不能传输 |
| 表现 | 键值对方式,键必须加上双引号;值不能是方法函数,不能是undefined/NaN 。 | 键值对方式,键不加引号;值可以是函数、对象、字符串、数字、boolean 等。 |
| 相互转换 | Json转换Js对象,JSON.parse() | js对象转换Json,JSON.stringify() |
结语:
好了文章到这就结束了,欢迎大家( 点赞+评论+关注 ) 有问题可以来互相交流一下;希望这篇文章对大家有用,也希望大家多多支持我。 今天是我参与2022首次更文挑战的第27天,加油!