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 相关文章推荐
js弹出的对话窗口永远保持居中显示
Dec 15 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
Jun 29 Javascript
jQuery javaScript捕获回车事件(示例代码)
Nov 07 Javascript
详解javascript高级定时器
Dec 31 Javascript
Javascript获取随机数的实现方法
Jun 22 Javascript
jquery html5 视频播放控制代码
Nov 06 Javascript
js模拟支付宝密码输入框
Apr 11 Javascript
如何理解Vue的v-model指令的使用方法
Jul 19 Javascript
angularJs中$http获取后台数据的实例讲解
Aug 08 Javascript
vue项目引入Iconfont图标库的教程图解
Oct 24 Javascript
javascript实现抢购倒计时程序
Aug 26 Javascript
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
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初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
2015/01/22 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
.NET常见笔试题集
2012/12/01 面试题
生日礼品店创业计划书范文
2014/03/21 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS
python中使用redis用法详解
2022/12/24 Redis