JSON 和JavaScript 介绍与区别

简介: Web 开发依赖于 JavaScript,但什么是 JSON,以及 JSON 与 JavaScript 的区别是什么?了解WEB背后的技术对于寻求创新和充分利用可用资源的团队来说非常重要。所有与WEB相关的东西都将使用 JavaScript。

Web 开发依赖于 JavaScript,但什么是 JSON,以及 JSON 与 JavaScript 的区别是什么?了解WEB背后的技术对于寻求创新和充分利用可用资源的团队来说非常重要。所有与WEB相关的东西都将使用 JavaScript。但是,JSON 更加细微,可能需要也可能不需要使用它。

JSON 和 JavaScript

在开始比较 JSON 与 JavaScript 之前,需要了解 JSON 是什么以及它与 JavaScript 的关系。来回顾一下 JavaScript 和 JSON 是什么,然后比较和对比它们,看看它们的区别是什么。

什么是 JavaScript?

JavaScript 与 HTML 和 CSS 一样,是万维网的核心技术之一。 JavaScript 开始是为了使网页栩栩如生。没有它,现代网页设计将是静态和无聊的。 JavaScript 是一种编程语言。它可能是最重要的编程语言,因为 Web 开发的各个方面都建立在它之上,未来其比重也将越来越重。本文不会花很多时间详细说明 JavaScript 是什么。

什么是 JSON

JSON 是 JavaScript Object Notation 的缩写。 JSON JavaScript 也是如此吗?不完全是。 JSON 是一种独立于任何编程语言的数据格式,源自于 JavaScript。大部分现代编程语言都包含可以生成和解析 JSON 数据的方法。

关于 JSON 的几点说明:

  • 它是一种用于存储和传输数据的轻量级格式
  • 语法是自描述的,便于人类阅读和理解
  • 通常,当数据从服务器发送到网页时使用 JSON,作为API的传输数据格式

JSON 数据以两种基本方式构造:key/value 对或此类对的集合,或有序列表。JSON 允许存储或传输六种不同类型的数据,包括:

  • Array
  • Null
  • Boolean
  • String
  • Number
  • Object

如上所述,JavaScript 和 JSON 是两个完全不同的东西。虽然 JSON 是从 JavaScript 派生的,但两者在很多方面没有可比性。但是,可以将 JSON 与 JavaScript 对象进行比较,这两者关系更密切,在前端开发中也是经常接触的。

什么是 JavaScript 对象?

JavaScript 对象也用于存储数据,所有 JavaScript 值实际上都是对象,除了原始数据类型 nullBooleannumberstringsymbolundefined 。JavaScript 对象可能会变得复杂,因为它们可以包含许多不同的原始数据组合。

JavaScript 对象也以 key/value 对的形式构成,它们可以通过对象构造器语法、对象字面量、构造器和原型链创建, JavaScript 对象是可变的。这意味着可以更改 key/value  对中各个键的值。

JSON 对比JavaScript 对象

在了解 JSON 和 JavaScript 对象的不同之处之前,重要的是要了解 JSON 和 JavaScript 对象的相似之处远大于它们的不同之处。JSON 源自 JavaScript 对象文字语法。事实上,最简单的解释是 JSON 是 JavaScript 对象文字语法,但有更多限制。

JSON 和 JavaScript 对象都是人类可读的。它们都为用户提供了一种结构化数据的方法,并且它们都可以用作另一个来源的来源。当谈到差异时,JSON 和 JavaScript 对象在几个关键方面有所不同:

  • 语言依赖
  • 纯文本
  • String Vs Object

语言依赖

JSON 和 JavaScript 对象之间最大的区别之一是对编程语言的依赖。JavaScript 对象完全依赖于 JavaScript,它们不能与任何其他编程语言一起使用。另一方面,超过 50 种不同的编程语言支持 JSON,包括流行的语言,例如:

  • Go
  • Ruby
  • Perl
  • C
  • C#
  • Python
  • PHP
  • JavaScript

这种广泛的支持使 JSON 成为数据存储和传输的灵活选择。

纯文本

JSON 数据只能以文本形式呈现,不能向 JSON 添加注释或其他代码行,这种特性是为什么这么多其他编程语言可以生成和解析 JSON 的原因。JavaScript 对象可以包含其他代码,例如函数和方法。

String Vs Object

JSON 和 JavaScript 对象之间的最后一个主要区别是它们的呈现方式。 JSON 以字符串形式呈现。这些被称为 JSON 字符串。 JavaScript 对象可以包含字符串,但顾名思义,它们是对象而不是字符串。对象比字符串更复杂。

总结

JSON 和 JavaScript 对象之间的差异是细微的,也是前端开发中经常会用到的两种类型,特别需要注意的是 JSON 不存在深拷贝浅拷贝的问题,而对象需要考虑这个问题,因此为避免对象深拷贝带来的问题,通常将对象与JSON相互转换。


相关文章
|
4月前
|
JavaScript 前端开发 索引
js的循环中foreach、for in和for of的区别
js的循环中foreach、for in和for of的区别
175 0
|
29天前
|
JavaScript 前端开发
js中的bind,call,apply方法的区别以及用法
JavaScript中,`bind`、`call`和`apply`均可改变函数的`this`指向并传递参数。其中,`bind`返回一个新函数,不立即执行;`call`和`apply`则立即执行,且`apply`的参数以数组形式传递。三者在改变`this`指向及传参上功能相似,但在执行时机和参数传递方式上有所区别。
26 1
|
1月前
|
设计模式 JavaScript 前端开发
js中new和object.creat区别
【10月更文挑战第29天】`new` 关键字和 `Object.create()` 方法在创建对象的方式、原型链继承、属性初始化以及适用场景等方面都存在差异。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象。
|
3月前
|
前端开发 JavaScript UED
JavaScript防抖和节流的使用及区别
JavaScript防抖和节流的使用及区别
111 57
|
2月前
|
存储 JSON JavaScript
JavaScript JSON
【10月更文挑战第7天】JSON 是 JavaScript 中非常重要的一个数据格式,它为数据的表示和传输提供了一种简单而有效的方式。掌握 JSON 的使用方法和特点,对于开发高质量的 JavaScript 应用具有重要意义。
|
2月前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
108 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
3月前
|
存储 JSON JavaScript
js中JSON的使用
介绍JSON的基本概念和在JavaScript中的使用方式,包括JSON格式的语法规则、使用`JSON.stringify()`和`JSON.parse()`方法进行对象与字符串的转换,以及处理JSON数组数据。
js中JSON的使用
|
2月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
21 2
|
2月前
|
JavaScript 前端开发
【JavaScript】let,const和var的区别
总的来说,随着ECMAScript 6(ES6)及后续版本的推广,`let`和 `const`因其增强的块级作用域和对变量行为的更严格控制,逐渐成为现代JavaScript编码实践中推荐使用的变量声明方式。而 `var`由于其历史遗留的局限性,正逐渐被边缘化,但在维护老代码或处理特定兼容性需求时仍需了解。
43 3
|
2月前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
106 3