JSON vs JavaScript对象
在本文中,我们将学习 JSON 和 JavaScript对象 以及它们之间的主要区别。
什么是JavaScript对象?
当代JavaScript的基础是由对象组成的,它们是JavaScript中最重要的数据类型。JavaScript中的原始数据类型(Number、String、Boolean、null、undefined和symbol)与这些对象非常不同,因为它们只能包含单个值(根据它们的类型)。
Syntax(语法):
let object_name = {
key_name : value,
...
}
示例:
Javascript
let school = {
name: 'Vivekananda School',
location : 'Delhi',
established : '1971',
20 : 1000,
displayInfo : function(){
console.log(`The value of the key 20 is ${school['20']}`);
}
}
在JavaScript中,可以使用两种不同的方法来创建对象,即字面形式和构造形式。
什么是JSON?
JavaScript对象表示法,简称JSON。它是一种组织数据的方法。不同的在线应用程序使用此格式相互通信。它是XML数据交换格式的继任者。与XML相比,数据更加简单结构化。它支持在服务器上快速执行的JSON文档,以及类似于数组和对象的数据结构。
它还可以像数组或字符串一样使用索引进行访问。JSON数组可以是任何数据类型。 JSON数组内的值用逗号分隔,并用大括号括起来。在Python中,JSON数组就像Python字典一样,其中键值对以有序方式存储。数据用逗号分隔。
语法: JSON语法源自JavaScript对象表示法语法:
Data is in name/value pairs
For Example: { “name”: ”Thanos” }
值的类型:
- 数组:值的关联数组。
- 布尔值:真或假。
- 数字:整数。
- 对象:键/值对的关联数组。
- 字符串:通常组成单词的几个普通文本字符。
语法:
// Basic JSON object
{
“name”: ”Thanos”,
“Occupation”: ”Destroying half of humanity”
}
// Curly braces hold objects
var person = {
“name”: ”Thanos”,
“Occupation”: ”Destroying half of humanity”
}
// Here person is the object.
// An array inside object
var person = {
“name”: ”Thanos”,
“Occupation”: ”Destroying half of humanity”,
“powers”: [
“Can destroy anything with snap of his fingers”,
“Damage resistance”,
“Superhuman reflexes”
]
}
示例:
Javascript
{
"Data Structures": [
{
"Name" : "Trees",
"Course" : "Intoduction of Trees",
"Content" : [ "Binary Tree", "BST",
"Generic Tree"]
},
{
"Name" : "Graphs",
"Topics" : [ "BFS", "DFS", "Topological Sort" ]
}
]
}
比较JavaScript对象与JSON:
ID | JavaScript对象 | JSON |
---|---|---|
1. | 键/值对中的键不必总是需要双引号。 | 键/值对中的键需要用双引号括起来。 |
2. | 它仅被JavaScript使用。 | 其他编程语言可以生成和使用JSON。 |
3. | 函数与JavaScript对象兼容。 | 函数与JSON不兼容。 |
4. | 内置的JavaScript JSON.stringify()方法允许将JavaScript对象转换为JSON格式。 | 使用内置的JSON.parse()方法,可以将JSON数据转换为JavaScript对象。 |