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 相关文章推荐
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
jQuery 表单验证扩展(四)
Oct 20 Javascript
jquery maxlength使用说明
Sep 09 Javascript
利用js读取动态网站从服务器端返回的数据
Feb 10 Javascript
javascript通过元素id和name直接取得元素的方法
Apr 28 Javascript
移动端JQ插件hammer使用详解
Jul 03 Javascript
jquery实现的简单二级菜单效果代码
Sep 22 Javascript
利用vue+elementUI实现部分引入组件的方法详解
Nov 22 Javascript
详解Javascript中new()到底做了些什么?
Mar 29 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
Jun 14 Javascript
JavaScript实现简单随机点名器
Nov 21 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
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
学习php过程中的一些注意点的总结
2013/10/25 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
JavaScript模拟实现继承的方法
2015/03/30 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
2009/04/09 Python
python封装对象实现时间效果
2020/04/23 Python
python数据结构之二叉树的遍历实例
2014/04/29 Python
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
Python3模拟登录操作实例分析
2019/03/12 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
信息管理专业学生自荐信格式
2013/09/22 职场文书
大学自荐信
2013/12/12 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
商超业务员岗位职责
2015/02/13 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书