当前位置: 首页 > article >正文

JavaScript(五):JSON

目录

JSON是什么

JSON在JavaScript中的应用

将JavaScript对象转换为JSON字符串

将JSON字符串解析为JavaScript对象

JSON 与 JavaScript 对象的区别


JSON是什么

JSON是由键值对组成的数据集合,键key是一个字符串,值value可以是以下几种类型之一:

  • 字符串(String)
  • 数字(Number)
  • 对象(Object)
  • 数组(Array)
  • 布尔值(Boolean)
  • null(空值)

JSON的基本语法结构是:

  • 数据以 {} 包围,表示一个对象
  • 数据以 [] 包围,表示一个数组
  • 键(key)和字符串的值(value)之间通过冒号 : 分隔
  • 键值对之间使用逗号 , 分隔

JSON在JavaScript中的应用

JavaScript中提供了JSON对象,内置了方法开处理JSON数据,包括将对象转换为JSON字符串和将JSON字符串解析为JavaScript对象

将JavaScript对象转换为JSON字符串

使用 JSON.stringify() 方法将 JavaScript 对象转换为 JSON 字符串

let person = {
  name: "Alice",
  age: 25,
  isStudent: false
};

let jsonString = JSON.stringify(person);
console.log(jsonString);
// 输出: {"name":"Alice","age":25,"isStudent":false}

JSON.stringify() 方法将 person 对象转换为 JSON 字符串,可以将它发送到服务器,或将其存储在本地存储(localStorage)中

将JSON字符串解析为JavaScript对象

使用 JSON.parse() 方法将 JSON 字符串转换为 JavaScript 对象

let jsonString = '{"name":"Alice","age":25,"isStudent":false}';

let person = JSON.parse(jsonString);
console.log(person.name);  // 输出: Alice
console.log(person.age);   // 输出: 25

JSON.parse() 方法将 JSON 字符串转换为 JavaScript 对象,我们可以访问和操作其中的键值对

JSON 与 JavaScript 对象的区别

1. JSON中的键必须是字符串

在 JavaScript 对象中,键可以是字符串、数字或符号,但在 JSON 中,键必须是字符串,且必须用双引号 " 包围

// JavaScript 对象
let obj = { name: "Alice", 1: "one" };

// JSON
let jsonString = '{"name": "Alice", "1": "one"}';

2. JSON不支持函数

3. JSON中没有undefined值

在 JSON 中,undefined 值是不允许的。如果对象中包含 undefined,它将被忽略,或者会抛出错误

let obj = { name: "Alice", age: undefined };
// 转换为 JSON 字符串时,`age` 将被忽略
let jsonString = JSON.stringify(obj);
console.log(jsonString);  // 输出: {"name":"Alice"}

4. JSON不支持注释


http://www.kler.cn/a/459737.html

相关文章:

  • aardio —— 虚表 —— 模拟属性框
  • 华为OD机试真题---服务器广播
  • flutter组件————Row和Column
  • 【Redis】集群配置(主从复制 哨兵搭建)
  • Zynq PS端外设之GPIO
  • Mac 安装Mysql启动Mysql以及数据库的常规操作
  • 【大模型实战篇】Mac本地部署RAGFlow的踩坑史
  • 短视频平台的视频水印怎么去除?
  • Postman[7] 内置动态参数及自定义的动态参数
  • 【期末大作业】使用Python熟练掌握面向对象
  • 在 Ubuntu 24.04.1 LTS | Python 3.12 环境下部署 Crypto 库
  • 如何修改 Angular 运行的主机和端口 ?
  • 中华人民共和国计算机信息系统安全保护条例
  • 微服务-服务保护和分布式事务
  • 如何利用Java爬虫获取亚马逊国际按关键字搜索商品
  • 安卓入门九 常用网络协议二
  • Casino Royale靶场wp
  • C语言初阶习题【19】三子棋游戏
  • Maven:Java项目构建与管理的利器
  • 云端-IPv4 VRRP 单备份组配置实验
  • TinaCMS: 革命性的开源内容管理框架
  • 2024 开放原子开发者大会活动回顾|瀚高 IvorySQL 开源数据库在国产软件的开源实践
  • Github 2024-12-27 Java开源项目日报Top10
  • 微信小程序 单选多选radio/checkbox 纯代码分享
  • 【前端,TypeScript】TypeScript速成(五):对象类型
  • MATLAB中使用rationalfit函数进行有理函数拟合的步骤