欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-06 17:10:22
工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是json,所以这里把常用的js操作json的方法做了总结~~ 一、概要简介 json(javascr...

工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是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方法总结,希望对大家有所帮助