对象是一种复合值,将很多值(原始类型或另一个对象)集合在一起,可以方便地组织和管理这些值。
JavaScript入门之对象与JSON详解
1. 什么是对象
对象是一种复合值,将很多值(原始类型或另一个对象)集合在一起,可以方便地组织和管理这些值。
2. 对象的创建
2.1 对象字面量创建对象
对象字面量是表示对象的最简洁方式之一,由一堆用逗号隔开的 名/值 对 组成,逗号后面的属性值可以是任意合法的JavaScript表达式。
示例1:
let student = {
name: 'Tom',
age: 18,
score: {
math: 90,
english: 80
},
hobbies: ['basketball', 'reading'],
study: function () {
console.log('study hard');
}
}
2.2 使用Object构造函数创建对象
使用Object构造函数创建对象的方式也比较简单,只需使用new关键字创建一个Object的实例即可。
示例2:
let student = new Object();
student.name = 'Tom';
student.age = 18;
student.score = {
math: 90,
english: 80
};
student.hobbies = ['basketball', 'reading'];
student.study = function () {
console.log('study hard');
}
3. JSON简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集,轻量且易于阅读和编写。JSON采用 简洁和层次结构 的方式来表示数据,方便数据的交互和传输。
4. JSON格式
JSON格式由两种数据结构组成:
4.1 对象
对象由一组 名/值 对组成,用花括号 {} 包围,并用逗号 , 分隔。键名必须放在双引号 " " 中,值可以是任意类型的值。
示例3:
{
"name": "Tom",
"age": 18,
"score": {
"math": 90,
"english": 80
},
"hobbies": ["basketball", "reading"]
}
4.2 数组
数组由一组值组成,用方括号 [] 包围,并用逗号 , 分隔。值可以是任意类型的值。
示例4:
[
{
"name": "Tom",
"score": {
"math": 90,
"english": 80
}
},
{
"name": "Jerry",
"score": {
"math": 95,
"english": 85
}
}
]
5. JSON的序列化与反序列化
5.1 对象的序列化
使用JSON.stringify()方法可以将对象序列化为JSON字符串,它接受三个参数:要序列化的对象、可选的一个函数用于转换对象中的值,可选的字符串用于添加前缀空格的格式化输出。
示例5:
let student = {name: "Tom", age: 18};
let jsonString = JSON.stringify(student);
console.log(jsonString); //输出{"name":"Tom","age":18}
5.2 JSON字符串的反序列化
使用JSON.parse()方法可以将JSON字符串反序列化为JavaScript对象。
示例6:
let jsonString = '{"name":"Tom","age":18}';
let student = JSON.parse(jsonString);
console.log(student); //输出{name: "Tom", age: 18}
以上即是JavaScript入门之对象与JSON详解的完整攻略,希望对您有所帮助。
本文标题为:JavaScript入门之对象与JSON详解
基础教程推荐
- java – 从spring执行sql脚本时“用户缺少权限或对象未找到” 2023-10-31
- 详解Java 本地接口 JNI 使用方法 2024-01-05
- java – 在mysql上关闭连接后不允许任何操作 2023-10-31
- JSP开发入门(一)–安装好你的机器来使用JSP 2023-12-16
- jsp+servlet+javabean实现数据分页方法完整实例 2023-08-03
- Java cglib为实体类(javabean)动态添加属性方式 2024-01-04
- Mybatisplus详解如何注入自定义的SQL 2023-01-24
- js将键值对字符串转为json字符串的方法 2024-01-04
- 如何为java.sql.DatabaseMetaData#getTables创建不区分大小写的模式? 2023-10-29
- Javaweb工程运行报错HTTP Status 404解决办法 2023-07-30
