10分钟学会js处理json的常用方法


Posted in Javascript onDecember 06, 2020

一、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)

例子:

10分钟学会js处理json的常用方法

2、字符串转换为对象

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

JSON.parse( json.DATA )

//传入json字符串

10分钟学会js处理json的常用方法

四、全局替换字符串

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

10分钟学会js处理json的常用方法

五、遍历json对象和json数组

1、遍历JSON对象

代码如下:

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

10分钟学会js处理json的常用方法

10分钟学会js处理json的常用方法

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);
}

10分钟学会js处理json的常用方法

10分钟学会js处理json的常用方法

附录

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

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

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

10分钟学会js处理json的常用方法

到此这篇关于10分钟学会js处理json的常用方法的文章就介绍到这了,更多相关js处理json方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 原型继承
Dec 26 Javascript
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
Jan 06 Javascript
用javascript实现自动输出网页文本
Jul 30 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
Mar 09 Javascript
js实现界面向原生界面发消息并跳转功能
Nov 22 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
May 28 Javascript
创建echart多个联动的示例代码
Nov 23 Javascript
antd组件Upload实现自己上传的实现示例
Dec 18 Javascript
小程序实现投票进度条
Nov 20 Javascript
Vue表单控件数据绑定方法详解
Feb 05 Javascript
JavaScript中的几种继承方法示例
Dec 06 #Javascript
js调用网络摄像头的方法
Dec 05 #Javascript
浅谈Vue使用Elementui修改默认的最快方法
Dec 05 #Vue.js
vue+element_ui上传文件,并传递额外参数操作
Dec 05 #Vue.js
JavaScript实现浏览器网页自动滚动并点击的示例代码
Dec 05 #Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 #Vue.js
js获取图片的base64编码并压缩
Dec 05 #Javascript
You might like
删除数组元素实用的PHP数组函数
2008/08/18 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
ajax与302响应代码测试
2013/10/23 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
vue内置指令详解
2018/04/03 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
简述Python中的面向对象编程的概念
2015/04/27 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
2015新年寄语(一句话)
2014/12/08 职场文书
手术室护士个人总结
2015/02/13 职场文书
通用员工手册范本
2015/05/14 职场文书
教师节获奖感言
2015/07/31 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers