JSON对象与普通对象的区别

JSON对象是什么?

JSON对象是JS的一种简单数据格式,JSON对象是JavaScript原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号。

两者之间的区别是什么?

区别JSONJavascript
含义仅仅是一种数据格式表示类的实例
传输可以跨平台数据传输,速度快不能传输
表现1.简直对方式,键必须加双引号
2.值不能是方法函数,不能是undefined/NaN
1.键值对方式,键不加引号
2.值可以是函数、对象、字符串、数字、boolean 等
相互转换1.JSON.parse(JsonStr);(不兼容IE7)
2.eval("("+jsonStr+")");(兼容所有浏览器,但不安全,会执行json里面的表达式?)
JSON.stringify(jsObj);

其他:调用JSON官网的JS,实现parse和stringify在谷歌浏览器的兼容

JavaScript 中,JSONJavaScript Object Notation)是一种轻量级的数据交换格式,它基于 JavaScript对象语法,但又 JavaScript普通对象(Plain Object)有明显的区别。 ### 一、JSON 普通对象区别 | 特性 | JSON | 普通对象(Plain Object) | |------|------|--------------------------| | **键名必须用双引号包裹** | 是 | 否(可以不用引号) | | **值只能是基本类型或数组、对象** | 是(不能是函数、undefined) | 否(可以包含函数、Symbol、undefined 等) | | **不能包含函数、Symbol、undefined** | 是 | 否 | | **通常用于数据传输** | 是 | 否 | | **可以直接使用 JSON.parse() / JSON.stringify() 操作** | 是 | 否 | | **不能有注释** | 是 | 否 | ### 二、示例代码 #### 1. JSON 示例 ```json { "name": "Alice", "age": 25, "isStudent": false, "hobbies": ["reading", "sports"], "address": { "city": "Beijing", "zip": "100000" } } ``` #### 2. JS 普通对象示例 ```javascript const person = { name: 'Bob', age: 30, isStudent: true, hobbies: ['coding', 'gaming'], address: { city: 'Shanghai', zip: '200000' }, greet: function() { console.log(`Hello, my name is ${this.name}`); } }; ``` #### 3. 将普通对象转为 JSON 字符串 ```javascript const jsonString = JSON.stringify(person); console.log(jsonString); // 输出: // {"name":"Bob","age":30,"isStudent":true,"hobbies":["coding","gaming"],"address":{"city":"Shanghai","zip":"200000"}} ``` #### 4. 将 JSON 字符串解析为 JS 对象 ```javascript const jsonStr = '{"name":"Alice","age":25}'; const obj = JSON.parse(jsonStr); console.log(obj.name); // 输出: Alice ``` ### 三、总结 - **JSON 是一种数据格式**,用于存储或传输数据。 - **JS 普通对象** 是运行时的数据结构,可以包含函数、Symbol、undefined 等复杂类型。 - 在实际开发中,JSON 通常用于前后端通信,而 JS 对象用于逻辑处理。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值