说到JSON,我们最好先来看一下它的定义,了解一下他大概是一个怎样的东西。

json的定义:

JSON(JavaScriptObject Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 (来自百度百科)

  所以说,json就是一种可以用来传递数据的特定的文本格式,因为其易于解析和生成,并且轻量级的特点,得到了广泛的应用。

  那么首先说解析,当得到一个JSON数据时,怎样将其解析为我们常用的obj文件呢--------使用JSON.parse()方法,如下:

var obj = JSON.parse(json); //obj为得到的obj文件,json为要转化的json文件

  但是JSON并不是简单的一层结构,是可以在JSON文件中嵌套另一个JSON文件的,当遇到具有嵌套关系的JSON文件时,再单纯的使用上面的JSON.parse()方法就行不通了,这时候我们就要对整个JSON文件进行遍历,将其中的所有JSON文件都进行解析,实现方法如下:

function printValues(obj){

for(let k in obj){

if(obj[k] instanceof obj){

printValues(obj[k]);

}else{

document.write(obj[k]+"
");

}

}

}

  当得到一个obj格式的文件时,又怎样转换成JSON格式呢,使用JSON.stringify()方法,如下:

var json = JSON.stringify(obj); // obj是目前的文件,json是得到的JSON文件。

 同时,使用的JSON的解析和生成的方法还可以实现json的深拷贝,实现代码如下:

let json1 = {a,b,c,f,r,d,f,e};

let json2 = JSON.parse(JSON.stringify(json1));

查看原文