最近有人问我关于JSON和JS对象的区别,可能是他没有看着这两种在某些写法上有些类似,所以有点搞不清。
1.JSON是一种数据格式,就像XML格式。它们都是一种数据规范。
2,JSON和JS对象的对别:
区别 | Json | Javascript对象 |
---|---|---|
含义 | 仅仅是一种数据格式 | 对象的实例 |
传输 | 可以跨平台数据传输,速度快 | 不能传输 |
表现 | 1. 键值对 2. 键必须加双引号 3. 值不能为方法函数/undefined/NaN | 1.键值对 2.值可以是函数、对象、字符串、数字、boolean 等 |
相互转换 | Json → JS 对象: 1. var obj = JSON.parse(jsonstring); 2. var obj = eval("("+jsonstring+")"); | JS 对象 → Json:JSON.stringify(obj); |
3.其实我认为上面这个表格最重要的部分就是要知道JSON和JS对象之间的相互转化就可以了。即:
①:JSON转JS对象 : var obj=JSON.parse(jsonstring) ; var obj=eval("("+jsonstring+")")
②:JS对象转JSON: JSON.stringify(obj)
4.JSON和JS对象的语法区别:
JSON 语法规则:数据在名称/值对中,数据由逗号分隔,花括号保存对象,方括号保存数组
JSON 数据值:数字(整数或浮点数),字符串(在双引号中),逻辑值(true 或 false),数组(在方括号中),对象(在花括号中),null