一、json定义

JSON ( JavaScript Object Notation) ,它是一串字符串 只不过元素会使用特定的符号标注。

  • {} 双括号表示对象
  • [] 中括号表示数组
  • "" 双引号内是属性或值
  • : 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中、数据由逗号分隔、花括号保存对象、方括号保存数组

JSON 值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在方括号中)、对象(在花括号中)、null

所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象

二、为什么用json

  1. JSON是纯文本格式,是独立于语言和平台的。
  2. 生成和解析相对于XML而言要简单。
  3. 读写的速度更快。

三、JS 内置两个Json方法

1、对象转化为字符串

任何把 JavaScript 变成 Json ,就是把这个对象序列化为Json字符串,然后才可以通过网络传递;

JSON.stringify( {} , [ ] , "")

//参数一 :要序列化的数据(object)
//参数二 :控制对象的键值,只想输出指定的属性,传入一个数组
//参数三 :序列化后,打印输出的格式(一个Tab ,可以更直观查看json)

  例子:

2、字符串转换为对象

如果我们收到一个JSON格式的字符串,只需要把它反序列化成一个JavaScript对象,就可以在JavaScript中直接使用这个对象了

JSON.parse( json.DATA )

//传入json字符串

  

四、全局替换字符串

这里我们需要用JS实现replaceAll的功能, 将所有的 ' xa" ' 替换成  ' " ' .
代码如下,这里的gm是固定的,g表示global,m表示multiple,也可以使用正则表达式

五、遍历json对象和json数组

1、遍历JSON对象代码如下:

var packJson = {"name":"Liza", "password":"123"} ;
for(var k in packJson ){//遍历packJson 对象的每个key/value对,k为key
alert(k + " " + packJson[k]);
}

2、遍历JSON数组代码如下:

var packJson = [{"name":"Liza", "password":"123"}, {"name":"Mike", "password":"456"}];
for(var i in packJson){//遍历packJson 数组时,i为索引
alert(packJson[i].name + " " + packJson[i].password);
}

   

学习本就是一个不断模仿、练习、再到最后面自己原创的过程。

虽然可能从来不能写出超越网上通类型同主题博文,但为什么还是要写?
于自己而言,博文主要是自己总结。假设自己有观众,毕竟讲是最好的学(见下图)。

于读者而言,笔者能在这个过程get到知识点,那就是双赢了。
当然由于笔者能力有限,或许文中存在描述不正确,欢迎指正、补充!
感谢您的阅读。如果本文对您有用,那么请点赞鼓励。

  

最新文章

  1. [LeetCode] Missing Number 丢失的数字
  2. VS Code 配置Python
  3. 第一个hadoop 程序
  4. Reveal1.5破解,iOS_UI调试利器Reveal最新版本破解方法
  5. sqlserver中分区函数 partition by的用法
  6. iTextSharp简单生成pdf和操作pdf添加水印
  7. mysql通用包安装
  8. JS工具
  9. activiti数据库表结构全貌解析
  10. Linux 之 shell 比较运算符
  11. 微软职位内部推荐-Software Engineer II-Web app
  12. (转)从工程中删除Cocoapods
  13. 利用多线程资源竞争技术上传shell
  14. Omi实战-QQ附近用户列表Web页
  15. Sonar 常用代码规则整理(二)
  16. nginx 编译增加新的模块
  17. BZOJ5297 [CQOI2018] 交互网络 【MatrixTree定理】
  18. hdu3506 Monkey Party (区间dp+四边形不等式优化)
  19. Webpack学习-Webpack初识
  20. python测试开发django-7.django模板继承(block和extends)

热门文章

  1. centos7.6使用 supervisor 对filebeat7.3.1进程进行管理
  2. CentOS使用yum安装最新版nginx步骤
  3. java html实体转义
  4. IIS6远程代码执行漏洞复现CVE-2017-7269
  5. (转)Intellij IDEA 2017 debug断点调试技巧与总结详解篇
  6. SpringBoot整合websocket
  7. 01-Windows Server 2012的配置与部署
  8. ZYNQ笔记(1):PL端——led灯
  9. javascript应该嵌入到html中的什么位置
  10. Jenkins 远程启动nodejs失败,使用pm2守护Nodejs