对象是一种复合值,将很多值(原始类型或另一个对象)集合在一起,可以方便地组织和管理这些值。
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详解
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
- java – struts 2中的数据库访问 2023-11-02
- 基于Java开发实现ATM系统 2023-04-12
- Servlet实现文件上传的三种方法总结 2023-08-01
- Java编写实现窗体程序显示日历 2023-01-02
- 使用Gson将字符串转换成JsonObject和JsonArray 2024-02-02
- mybatisplus isNotNull不生效问题及解决 2023-01-24
- Java布隆过滤器的原理和实现分析 2023-06-10
- 详解servlet调用的几种简单方式总结 2024-01-30
- SpringCloud微服务开发基于RocketMQ实现分布式事务管理详解 2023-05-19
- java – 在数据库中存储形状的最佳方法是什么 2023-11-04