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下判断IE与FF的比较简单的方式
Oct 17 Javascript
Javascript 继承机制的实现
Aug 12 Javascript
javascript 广告后加载,加载完页面再加载广告
Nov 25 Javascript
javascript中的一些注意事项 更新中
Dec 06 Javascript
两种JS实现屏蔽鼠标右键的方法
Aug 20 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
Aug 24 Javascript
javascript发送短信验证码实现代码
Nov 12 Javascript
js遮罩效果制作弹出注册界面效果
Jan 25 Javascript
关于javascript sort()排序你可能忽略的一点理解
Jul 18 Javascript
详解webpack require.ensure与require AMD的区别
Dec 13 Javascript
在小程序中使用canvas的方法示例
Sep 17 Javascript
JavaScript中的LHS和RHS分析详情
Apr 06 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
php下通过POST还是GET来传值
2008/06/05 PHP
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
50个PHP程序性能优化的方法
2014/06/02 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
如何离线执行php任务
2017/02/21 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
js Date概念详细介绍
2013/11/22 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
Node.js+Express配置入门教程详解
2016/05/19 Javascript
Javascript计算二维数组重复值示例代码
2016/12/18 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
python清除字符串里非字母字符的方法
2015/07/02 Python
详解django中自定义标签和过滤器
2017/07/03 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Python如何急速下载第三方库详解
2020/11/02 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
建设工程授权委托书
2014/09/22 职场文书
大学生求职信怎么写
2015/03/19 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
python 中的jieba分词库
2021/11/23 Python
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL