10分钟学会js处理json常用方法
2024-09-02 22:14:18
一、json定义
JSON ( JavaScript Object Notation) ,它是一串字符串 只不过元素会使用特定的符号标注。
- {} 双括号表示对象
- [] 中括号表示数组
- "" 双引号内是属性或值
- : 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中、数据由逗号分隔、花括号保存对象、方括号保存数组
JSON 值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在方括号中)、对象(在花括号中)、null
所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象
二、为什么用json
- JSON是纯文本格式,是独立于语言和平台的。
- 生成和解析相对于XML而言要简单。
- 读写的速度更快。
三、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到知识点,那就是双赢了。
当然由于笔者能力有限,或许文中存在描述不正确,欢迎指正、补充!
感谢您的阅读。如果本文对您有用,那么请点赞鼓励。
最新文章
- [LeetCode] Missing Number 丢失的数字
- VS Code 配置Python
- 第一个hadoop 程序
- Reveal1.5破解,iOS_UI调试利器Reveal最新版本破解方法
- sqlserver中分区函数 partition by的用法
- iTextSharp简单生成pdf和操作pdf添加水印
- mysql通用包安装
- JS工具
- activiti数据库表结构全貌解析
- Linux 之 shell 比较运算符
- 微软职位内部推荐-Software Engineer II-Web app
- (转)从工程中删除Cocoapods
- 利用多线程资源竞争技术上传shell
- Omi实战-QQ附近用户列表Web页
- Sonar 常用代码规则整理(二)
- nginx 编译增加新的模块
- BZOJ5297 [CQOI2018] 交互网络 【MatrixTree定理】
- hdu3506 Monkey Party (区间dp+四边形不等式优化)
- Webpack学习-Webpack初识
- python测试开发django-7.django模板继承(block和extends)
热门文章
- centos7.6使用 supervisor 对filebeat7.3.1进程进行管理
- CentOS使用yum安装最新版nginx步骤
- java html实体转义
- IIS6远程代码执行漏洞复现CVE-2017-7269
- (转)Intellij IDEA 2017 debug断点调试技巧与总结详解篇
- SpringBoot整合websocket
- 01-Windows Server 2012的配置与部署
- ZYNQ笔记(1):PL端——led灯
- javascript应该嵌入到html中的什么位置
- Jenkins 远程启动nodejs失败,使用pm2守护Nodejs