今天就跟大家聊聊有关JavaScript中是如何操作JSON数据的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
一、概念简介
JSON (JavaScript对象表示法)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不须要任何特殊的API或工具包。
在JSON中,有两种结构:对象和数组。
1。对象
var packJson={“name":“Liza",“password":“123”;};
引用>一个对象以“{”开始,“}”结束,“键/值”之间运用”、“分隔。
2。数组
var packJson=[{“name":“Liza",“password":“123”;}, {“name":“Mike",“password":“456”;}];
引用>数组是值的有序集合。一个数组以“[”开始,“]”结束。值之间运用”、“分隔。
二,JSON对象和JSON字符串的转换
在数据传输过程中,JSON是以字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:
JSON字符串:var jsonStr=& # 39; {“name":“Liza",“password":“123”;} & # 39;,
引用>JSON对象:
var jsonObj={“name":“Liza",“password":“123”;};
引用>1, JSON字符串转化JSON对象
var jsonObject=jQuery.parseJSON (jsonstr);
引用>2, JSON对象转化JSON字符串
var jsonstr=JSON。stringify (jsonObject);
引用>三,JSON的输出美化
JSON。stringify(价值[,替代者[、空间]])
引用>上一节讲到了将JSON转化为字符串可以用JSON.stringify()方法,stringify还有个可选参数空间,可以指定缩进用的空白字符串,用于美化输出(形式打印);
空间参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格;如果该参数没有提供(或者为null)将没有空格。我们看下代码:
var formatJsonStr=JSON。stringify (jsonObject,定义2);
引用>待美化的JSON:
![]()
美化后的效果:
![]()
四,JSON字符串的替换
工作经常遇到这样的字符串,如下:
![]()
需要经过替换后,才能从字符串转化成JSON对象。这里我们需要用JS实现replaceAll的功能,将所有的& # 39;\ \“;& # 39;替换成& # 39;“;& # 39;。
代码如下,这里的通用是固定的,g表示全球、米表示多个:var jsonStr=jsonStr。取代(新RegExp (& # 39; \ \“& # 39;,“gm"), & # 39;“& # 39;);
引用>替换后的效果如下:
![]()
五,遍历JSON对象和JSON数组
1,遍历JSON对象
代码如下:
var packJson={“name":“Liza",“password":“123”;}; (var k packJson){//遍历packJson对象的每个键/值对,k为关键 警报(k +“;“;+ packJson [k]); }效果图
![]()
![]()
2,遍历JSON数组
代码如下:
效果图
![]()
![]()
六、递归遍历
为了实现一些复杂功能常常需要递归遍历JSON对象,这里给出两个递归的例子,希望能给大家参考递归的写法。
1,第一个例子是递归遍历JSON,遇到数组的时候,数组中有超过一个对象,删除第一个对象之后的所有对象
JavaScript中是如何操作JSON数据的