文章目录

  • 前言
  • JSON 与 JS 对象的关系
  • 常用类型
  • JSON 与 JS 的转换
    • JSON 与 JS 的转换实例

前言

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON 与 JS 对象的关系

JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

let obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
let json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串

简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式.

常用类型

任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。
        对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, …} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
        数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 [“java”, “javascript”, “vb”, …] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。

JSON 与 JS 的转换

<script>// JSON: JavaScript Object Notation(JavaScript 对象表示法)// JSON 是存储和交换文本信息的语法,类似 XML。// JSON 比 XML 更小、更快,更易解析。let person = {nickname: '路飞',gender: 1,age: 20}console.log(person);// JSON.stringify(对象名) 返回值为该对象的json格式字符串let json_text = JSON.stringify(person);console.log(json_text);// JSON.parse(json格式字符串) 返回值为JavaScript对象let json_obj = JSON.parse(json_text);console.log(json_obj);
</script>

JSON 与 JS 的转换实例

<script>
// 服务器响应的json格式字符串let responseResult = '{"code":0,"msg":"","count":1000,"data":[{"id":10002,"username":"user-2","sex":"女","city":"城市-2","sign":"签名-2","experience":650,"logins":77,"wealth":6298078,"classify":"酱油","score":31},{"id":10003,"username":"user-3","sex":"女","city":"城市-3","sign":"签名-3","experience":362,"logins":157,"wealth":37117017,"classify":"诗人","score":68}]}';// 将服务器响应的json格式字符串解析完JavaScript对象let result = JSON.parse(responseResult);console.log(result);console.log(result.code);console.log(result.msg);console.log(result.count);console.log(result.data);result.data.forEach(element => {console.log(element);// for in 遍历对象的属性 获取的是属性的名字 for (const filename in element) {// 对象名[属性名]获取的是该属性的值console.log(filename + '>>>' + element[filename]);}});
</script>

JavaScript学习 — 初识json相关推荐

  1. Javascript学习笔记——JSON:js对象简谱

    Javascript不仅是一种编程语言,还被作为一种常用的对象存储和传输格式 JSON:JS 对象简谱 JSON(JavaScript Object Notation)即Javascript对象简谱 ...

  2. JavaScript学习笔记-JSON对象

    JSON 是一种用来序列化对象.数组.数值.字符串.布尔值和 null 的语法.它基于 JavaScript 语法,但是又有区别:一些 JavaScript 值不是 JSON,而某些 JSON 不是 ...

  3. 10. JavaScript学习笔记——JSON

    10. JSON ///[JSON是一种数据格式,不是JS 独有的] ///[JSON语法] /* 1.数据书写格式:"name":value,JSON要求给属性名加上[双引号], ...

  4. javascript学习-创建json对象数据,遍历

    之前我已经有讲过后台返回json数据到前台,并在前台遍历json数据. 这里讲下直接在JS里创建JSON数据,然后遍历使用~ 创建代码例如以下:(创建的是JSON对象) var YearSelect ...

  5. Javascript学习笔记8——用JSON做原型

    在Javascript学习笔记5--类和对象中,我简单地提到了利用JSON去构造一个对象.代码如下: <script type="text/javascript">va ...

  6. JavaScript学习(八十)—请写一段JS程序提取URL中的各个get参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中

    JavaScript学习(八十)-请写一段JS程序提取URL中的各个get参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中 题目: 代码:

  7. JavaScript学习(六十一)—json字符串的解析和JS 对象的序列化

    JavaScript学习(六十一)-json字符串的解析和JS 对象的序列化 一.json字符串的解析:parse方法 将json字符串转换为js对象,我们把这个过程称为json字符串的解析 格式:J ...

  8. RUNOOB JavaScript 初识 JSON

    初识JSON 1. JSON 简介 JSON:Java Script Object Notation JSON:用于存储和传输数据的格式 JSON:通常用于服务端向网页传递数据 2. JSON 语法规 ...

  9. Json学习总结(1)——Java和JavaScript中使用Json方法大全

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript ...

最新文章

  1. vCenter 6.0安装部署
  2. 是时候考虑让你的Spark跑在K8S上了
  3. oozie mysql_【oozie】将oozie的数据库配置为mysql | 学步园
  4. php mysql_fetch_array 不要0_1_php – mysql_fetch_array不适用于1行查询结果
  5. 机器学习和深度学习_算法测评 | 机器学习VS深度学习
  6. HITOJ 2662 Pieces Assignment(状压DP)
  7. javascript进阶课程--第三章--匿名函数和闭包
  8. 汪华关于移动互联网兴起三大问题的解决
  9. Arduino蓝牙无线自动下载程序 Arduino无线下载
  10. 人脸数据库汇总 (来自网络)
  11. 苹果13可以用无线充电宝吗?苹果专用无线充电宝推荐
  12. linux下qt实现vlc视频播放器,Qt编写视频播放器(vlc内核)
  13. 最实用的Chrome插件--CSDN浏览器助手使用体验
  14. 第四章-2 hydra(九头蛇)与Medusa(美杜莎)
  15. 程序人生 - 如何绘制二维码?
  16. 开发板BMP图片显示(6818开发板)
  17. 使用python调用nmap模块实现端口扫描
  18. 共享打印机计算机睡眠时不可用,WIN10从睡眠中唤醒后共享打印机不可用
  19. 网页设计与制作常考概念以及问答题
  20. Mac环境配置SSH Key

热门文章

  1. springboot 自定义日期出入参
  2. android 壁纸软件 宝宝,宝宝巴士桌面软件下载
  3. 阿里为什么总mysql_为什么部署在阿里云上 MySQL 老是因为内存而挂掉,不是个例....
  4. android Gradle 教程
  5. 2022非常火过postman的一款技术人必备的接口测试神器:Apifox
  6. 突然发现得考个研究生了
  7. gunicorn的命令参数解释
  8. collection集合和源码
  9. uva 12325(宝箱, 枚举问题);
  10. RFM模型与Spark实现