3分钟掌握常用的JS操作JSON方法总结


Posted in Javascript onApril 25, 2017

工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是JSON,所以这里把常用的JS操作JSON的方法做了总结~~

一、概要简介

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。

在JSON中,有两种结构:对象和数组

1、对象以“{”开始,“}”结束,“key/value”之间运用 “,”分隔。

3分钟掌握常用的JS操作JSON方法总结 

2、数组以“[”开始,“]”结束。值之间运用 “,”分隔。

3分钟掌握常用的JS操作JSON方法总结 

二、JSON对象和JSON字符串的转换

在数据传输过程中,JSON是以字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。如下:

JSON字符串:

3分钟掌握常用的JS操作JSON方法总结 

JSON对象:

3分钟掌握常用的JS操作JSON方法总结 

1、将String转化为JSON

3分钟掌握常用的JS操作JSON方法总结 

2、将JSON转化为String

3分钟掌握常用的JS操作JSON方法总结 

三、JSON的输出美化

上一节我们讲到了将JSON对象转化为JSON字符串可以用JSON.stringify() 方法,stringify还有个可选参数space(1<=space<=10),可以指定缩进的空格数,用于美化输出;

3分钟掌握常用的JS操作JSON方法总结 

我们看下代码:

3分钟掌握常用的JS操作JSON方法总结 

待美化的JSON:

3分钟掌握常用的JS操作JSON方法总结 

美化后的输出,是不是看得更清晰了:

3分钟掌握常用的JS操作JSON方法总结 

四、JSON字符串的替换

日志处理中常常有这样的字符串,如下:

3分钟掌握常用的JS操作JSON方法总结 

需要经过替换后,才能变成标准的JSON字符串格式,从而转化成JSON对象。这里我们需要用JS实现replaceAll的功能,将所有的 ' \\" ' 替换成  ' " ' 。

代码如下,这里的gm是固定的,g表示global,m表示multiple:

3分钟掌握常用的JS操作JSON方法总结 

替换后的效果如下:

3分钟掌握常用的JS操作JSON方法总结 

五、遍历JSON对象和数组

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

3分钟掌握常用的JS操作JSON方法总结 

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

3分钟掌握常用的JS操作JSON方法总结 

六、递归遍历JSON对象

为了实现一些复杂功能常常需要递归遍历JSON对象,这里给出一个递归的例子,希望能给大家作为参考。

例子中要求处理JSON字符串,遇到数组的时候,数组中有超过一个对象,删除第一个对象之后的所有对象,假设原始JSON如下:

3分钟掌握常用的JS操作JSON方法总结 

要求处理后的数组中只保留第一个对象,处理完成后应该如下图所示:

3分钟掌握常用的JS操作JSON方法总结 

递归代码如下:

3分钟掌握常用的JS操作JSON方法总结 

以上所述是小编给大家介绍的3分钟掌握常用的JS操作JSON方法总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 前的按键判断代码
Mar 19 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
Jul 17 Javascript
jQuery给多个不同元素添加class样式的方法
Mar 26 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
Thinkjs3新手入门之添加一个新的页面
Dec 06 Javascript
p5.js入门教程之图片加载
Mar 20 Javascript
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
JavaScript中toLocaleString()和toString()的区别实例分析
Aug 14 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
Sep 27 Javascript
vue+SSM实现验证码功能
Dec 07 Javascript
JS工厂模式开发实践案例分析
Oct 17 Javascript
JavaScript用document.write()输出换行的示例代码
Nov 26 Javascript
vue.js父组件使用外部对象的方法示例
Apr 25 #Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 #Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
Apr 25 #Javascript
整理一些最近经常遇到的前端面试题
Apr 25 #Javascript
Vue.js 2.0学习教程之从基础到组件详解
Apr 24 #Javascript
js实现延迟加载的几种方法
Apr 24 #Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 #Javascript
You might like
MYSQL环境变量设置方法
2007/01/15 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
Python中字典映射类型的学习教程
2015/08/20 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
暑期社会实践学生的自我评价
2014/01/09 职场文书
教师节促销方案
2014/03/22 职场文书
公司合作意向书
2014/04/01 职场文书
体检通知范文
2015/04/21 职场文书
机关保密工作承诺书
2015/05/04 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
教你怎么用python selenium实现自动化测试
2021/05/27 Python
Pandas数据类型之category的用法
2021/06/28 Python
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers