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

 更新时间:2017年04月25日 09:25:43   作者:徐洁  
工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是JSON,所以这里把常用的JS操作JSON的方法做了总结

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

一、概要简介

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

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

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

 

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

 

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

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

JSON字符串:

 

JSON对象:

 

1、将String转化为JSON

 

2、将JSON转化为String

 

三、JSON的输出美化

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

 

我们看下代码:

 

待美化的JSON:

 

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

 

四、JSON字符串的替换

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

 

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

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

 

替换后的效果如下:

 

五、遍历JSON对象和数组

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

 

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

 

六、递归遍历JSON对象

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

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

 

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

 

递归代码如下:

 

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

相关文章

  • 微信小程序实现通过双向滑动缩放图片大小的方法

    微信小程序实现通过双向滑动缩放图片大小的方法

    这篇文章主要介绍了微信小程序实现通过双向滑动缩放图片大小的方法,结合实例形式分析了微信小程序事件响应及图片元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2018-12-12
  • javascript 小数乘法结果错误的处理方法

    javascript 小数乘法结果错误的处理方法

    下面小编就为大家带来一篇javascript 小数乘法结果错误的处理方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Dropify.js图片宽高自适应的方法

    Dropify.js图片宽高自适应的方法

    本篇文章主要介绍了Dropify.js图片宽高自适应的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • javascript数组常用方法汇总

    javascript数组常用方法汇总

    这篇文章主要汇总了javascript中数组常用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Bootstrap每天必学之表单

    Bootstrap每天必学之表单

    Bootstrap每天必学之表单,本文讲解的就是大家最为常用的提交数据的Form表单,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • JS解析url查询参数的简单代码

    JS解析url查询参数的简单代码

    本文通过简单代码给大家介绍了js解析url查询参数的方法,然后在文章下面给大家介绍了js获取url参数值的两种方式 ,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-08-08
  • 怎样调用动态获取的自定义对象的方法

    怎样调用动态获取的自定义对象的方法

    怎样调用动态获取的自定义对象的方法...
    2006-10-10
  • momentjs使用详细说明

    momentjs使用详细说明

    这篇文章主要介绍了momentjs详细使用说明,使用 Moment.js 可以轻松地获取上周、上月和前三个月的起始和结束时间,在示例中,我们传入了 '2023-07-15',并将返回的日期信息存储在 dateInfo 变量中,然后将其打印到控制台上,需要的朋友可以参考下
    2023-07-07
  • JS iFrame加载慢怎么解决

    JS iFrame加载慢怎么解决

    这篇文章主要介绍了JS iFrame加载慢的解决方法,非常实用,感兴趣的朋友一起学习吧
    2016-05-05
  • 原生js编写设为首页兼容ie、火狐和谷歌

    原生js编写设为首页兼容ie、火狐和谷歌

    这篇文章主要介绍了如何通过原生js实现设为首页并兼容ie、火狐和谷歌,需要的朋友可以参考下
    2014-06-06

最新评论