【Java 进阶篇】JavaScript JSON 语法入门:轻松理解数据的序列化和反序列化

在这里插入图片描述

嗨,亲爱的小白们!欢迎来到这篇关于 JavaScript 中 JSON(JavaScript Object Notation)语法的入门指南。JSON 是一种轻量级的数据交换格式,广泛应用于前端开发中。通过这篇博客,我将带你深入了解 JSON 的语法,以及如何在 JavaScript 中使用它来实现数据的序列化和反序列化。让我们一起踏上这段有趣的学习之旅吧!

JSON 是什么?

JSON,即 JavaScript Object Notation,是一种用于在不同语言之间交换数据的轻量级数据格式。它以易于阅读和编写的文本形式表示数据对象,同时也易于机器解析和生成。在 JavaScript 中,JSON 通常用于在浏览器和服务器之间传输数据。

JSON 数据是一个键值对的集合,其中键(属性名)和值之间使用冒号分隔,不同的键值对使用逗号分隔。整个 JSON 数据包含在花括号 {} 中,表示一个对象。数组在 JSON 中用中括号 [] 表示,其中的元素可以是任何有效的 JSON 数据。

下面是一个简单的 JSON 示例:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York",
  "skills": ["JavaScript", "HTML", "CSS"]
}

在这个例子中,我们有一个包含个人信息的 JSON 对象,其中包括姓名、年龄、城市和技能数组。

JSON 的语法规则

对象(Object)

JSON 对象由一组键值对组成,键和值之间使用冒号 : 分隔,不同的键值对使用逗号 , 分隔。整个对象使用花括号 {} 包裹。

{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

数组(Array)

JSON 数组由一组值组成,值之间使用逗号 , 分隔,整个数组使用中括号 [] 包裹。

["value1", "value2", "value3"]

字符串(String)

JSON 字符串是由双引号 " 包裹的文本。

"Hello, JSON!"

数字(Number)

JSON 数字表示整数或浮点数。

42
3.14

布尔值(Boolean)

JSON 布尔值表示真或假。

true
false

空值(Null)

JSON 空值表示为 null

null

在 JavaScript 中使用 JSON

现在我们已经了解了 JSON 的基本语法,让我们看看如何在 JavaScript 中使用 JSON 进行数据的序列化和反序列化。

数据序列化(JSON.stringify)

在 JavaScript 中,可以使用 JSON.stringify() 方法将对象转换为 JSON 格式的字符串。这是一个简单的例子:

const person = {
  name: "John Doe",
  age: 30,
  city: "New York",
  skills: ["JavaScript", "HTML", "CSS"]
};

const jsonString = JSON.stringify(person);

console.log(jsonString);

上面的代码将 person 对象转换为 JSON 字符串,并输出结果:

{"name":"John Doe","age":30,"city":"New York","skills":["JavaScript","HTML","CSS"]}

数据反序列化(JSON.parse)

相反地,可以使用 JSON.parse() 方法将 JSON 字符串转换回 JavaScript 对象。以下是一个例子:

const jsonString = '{"name":"John Doe","age":30,"city":"New York","skills":["JavaScript","HTML","CSS"]}';

const person = JSON.parse(jsonString);

console.log(person);

这段代码将 JSON 字符串转换为 JavaScript 对象,并输出结果:

{
  name: "John Doe",
  age: 30,
  city: "New York",
  skills: ["JavaScript", "HTML", "CSS"]
}

JSON 的应用场景

JSON 在前端开发中有着广泛的应用,常见的应用场景包括:

  • 与服务器通信: 在网络请求中,常用 JSON 格式传输数据。
  • 存储配置信息: 许多应用程序使用 JSON 格式来存储和读取配置信息。
  • 本地存储: 在客户端,可以使用 JSON 来存储和读取本地数据。

小结

通过这篇博客,你应该对 JSON 的基本语法以及在 JavaScript 中的应用有了更深入的了解。JSON 提供了一种简洁而强大的方式来表示和交换数据,使得前端开发更加灵活和高效。希望这篇文章能够帮助你更好地掌握 JSON,从而更自信地处理数据在前端的应用。继续加油学习,同学们!

作者信息

作者 : 繁依Fanyi
CSDN: https://techfanyi.blog.csdn.net
掘金:https://juejin.cn/user/4154386571867191

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/173674.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习实验】注意力机制(四):点积注意力与缩放点积注意力之比较

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 理论介绍a. 认知神经学中的注意力b. 注意力机制 1. 注意力权重矩阵可视化(矩阵热图)2. 掩码Softmax 操作3. 打分函数——加性注意力模型3. 打分函数——点积注意力与缩放…

【GUI】-- 12 贪吃蛇小游戏之让小蛇动起来

GUI编程 04 贪吃蛇小游戏 4.3 第三步:让小蛇动起来(键盘控制) 首先,在构造器中要获取焦点事件、键盘监听事件并加入定时器(定时器定义需要实现ActionListener接口并重写actionPerformed方法): //构造器public GamePanel() {init();this.s…

郎酒“掉队”,经销商们能等来春天吗?

文 | 螳螂观察(TanglangFin) 作者 | 渡过 有“六朵金花”之称的川酒品牌中,五粮液、泸州老窖、舍得、水井坊都已成功上市,只剩下郎酒和剑南春未上市。 与IPO的“掉队”相对应的,是郎酒在冲刺高端、内部管理、渠道管…

【LeetCode刷题-链表】--23.合并K个升序链表

23.合并K个升序链表 方法:顺序合并 在前面已经知道合并两个升序链表的前提下,用一个变量ans来维护以及合并的链表,第i次循环把第i个链表和ans合并,答案保存到ans中 /*** Definition for singly-linked list.* public class List…

SQL基础理论篇(八):视图

文章目录 简介创建视图修改视图删除视图总结参考文献 简介 视图,即VIEW,是SQL中的一个重要概念,它其实是一种虚拟表(非实体数据表,本身不存储数据)。 视图类似于编程中的函数,也可以理解成是一个访问数据的接口。 从…

VPX 插座(VITA46)介绍及应用 (简单介绍)

1. VPX 插座的介绍 VPX是VITA(VME International Trade Association, VME国际贸易协会)组织于2007年在其VME总线基础上提出的新一代高速串行总线标准。VPX总线的基本规范、机械结构和总线信号等具体内容均在ANSI/VITA46系列技术规范中定义。VPX就是基于高速串行总线的新一代总线…

基于Surfer与Voxler数据处理及可视化实践技术应用

Surfer和Voxler分别是美国Golden Software 公司开发的用于二维和三维数据可视化软件,具有强大的数据处理和插值功能,软件主要应用于气象、环境和地质(以及生物、医学等)等领域。其中Surfer主要用于绘制二维等值线图、三维表面图以…

仪表盘:pyecharts绘制

一、仪表盘 在数据分析中,仪表盘图(dashboard)的作用是以一种简洁、图表化的方式呈现数据的关键指标和核心信息,以帮助用户快速理解数据的情况,并从中提取关键见解。 仪表盘图通常由多个图表、指标和指示器组成&…

Java —— String类

目录 1. String类的重要性 2. 常用方法 2.1 字符串构造 2.2 String对象的比较 2.3 字符串查找 2.4 转化 1. 数值和字符串转化 2. 大小写转换 3. 字符串转数组 4. 格式化 2.5 字符串替换 2.6 字符串拆分 2.7 字符串截取 2.8 其他操作方法 2.9 字符串常量池 2.9.1 创建对象的思考…

基于安卓android微信小程序的刷题系统

项目介绍 面试刷题系统的开发过程中,采用B / S架构,主要使用jsp技术进行开发,中间件服务器是Tomcat服务器,使用Mysql数据库和Eclipse开发环境。该面试刷题系统包括会员、答题录入员和管理员。其主要功能包括管理员:个…

芯片IO口不加电阻会怎样?

芯片IO口不加电阻会怎样? 可能会导致以下几个后果: 1.高电流问题,IO口没有电阻限流,当与外部设备直接连接时,就可能会导致过大的电流流过IO口,这就可能损坏IO口,引起短路或烧坏其它电路组件。像…

Spring Boot要如何学习?【云驻共创】

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。我这里会分享一些学习Spring Boot的方法和干货,包括…

【C++】泛型编程 ⑨ ( 类模板的运算符重载 - 函数声明 和 函数实现 写在同一个类中 | 类模板 的 外部友元函数问题 )

文章目录 一、类模板 - 函数声明与函数实现分离1、函数声明与函数实现分离2、代码示例 - 函数声明与函数实现分离3、函数声明与函数实现分离 友元函数引入 二、普通类的运算符重载 - 函数声明 和 函数实现 写在同一个类中三、类模板的运算符重载 - 函数声明 和 函数实现 写在同…

Java实现windows系统截图

Java提供了一种方便的方式来截取Windows系统的截图。这个过程通常需要使用Java的Robot类来模拟用户的鼠标和键盘输入操作。下面将介绍如何使用Java实现Windows系统截图。 步骤1:导入Robot和AWT包 Java提供了一个Robot类,它可以模拟用户的键盘和鼠标操作…

医疗器械维修售后技术培训与支持的重要性

医疗器械维修售后技术培训与支持的重要性 随着我国医疗器械产业的的高速发展、医疗器械企业的崛起,大量创新医疗器械产品进入医疗机构。但医疗设备在使用和维护过程中,暴露出许多问题和不足,如部分设备故障率较高、临床工程培训不足、售后服务模式整体比较落后等,这影响了医疗…

当前系统并无桌面环境,或无显示器,无法显示远程桌面,您需要自行安装X11桌面环境,或者使用终端文件功能

ToDesk远程遇到的问题如上图,换向日葵直接黑屏; 问题原因 截止发文时间,Todesk只支持X11协议,没有适配最新的Wayland协议,所以我们需要把窗口系统调整为X11才可以。 解决方法 修改配置文件,关闭wayland su…

c# 文件读取和写入

文件写入 using System.Collections.Generic; namespace demo1;/// <summary> /// System.IO下的所有的Stream类是所有数据流的基类 /// 流是用于传输数据的对象&#xff0c;流就是用来传输数据的 /// 数据传输的两种方式&#xff1a;1、数据从外部源传输到程序中&#…

技术互联 创新交流 | 广汽研究院举办技术交流会圆满落幕

技术互联 创新交流 2023年11月1日&#xff0c;同星智能走进广汽研究院技术交流会圆满举行并落下帷幕。本次技术交流会得到广汽研究院相关部门的大力支持&#xff0c;并邀请到多名人员参与&#xff0c;涉及其技术、研发等部门。 本次活动的举办意义重大&#xff0c;目前广汽研究…

如何把A3 pdf 文章打印成A4

1. 用Adobe Acrobat 打开pdf 2 打印 选择海报 进行调整即可如下图,见下面红色的部分。

互联网医院源码搭建部署功能

互联网将医院与患者、医院内部&#xff08;医生、护士、领导层&#xff09;、医院与生态链上的各类组织机构连接起来。以患者为中心&#xff0c;优化医院业务流程&#xff0c;提升医疗服务质量与医院资源能效&#xff0c;让患者通过移动互联网随时随地的享受医院的服务&#xf…