这篇文章要来讨论甚么是JSON
我们来看一下 维基百科 怎么定义JSON~
所以可以了解到,json其实是一个字串的格式。它的结构虽然跟物件相似,但却有些微不同之处
例如属性的部分一定要用双引号,使用单引号或是无引号的状况都会报错。
值的部分如果是字串也一定要是双引号,使用单引号或是无引号的状况都会报错。
好,那我们来看看下面的程式码
var family = { name: '小明家', members: { father: '老爸', mom: '老妈', ming: '小明' } };var json = JSON.stringify(family);console.log(json);
执行结果如下
很显然我们印出来的json结构就是字串。
那么我们有了共识再来看看下面两种 ajax 的写法会回传甚么。
// 原生 AJAXfunction getData() { console.log(this.response); // var data = JSON.parse(this.response); // console.log(data);}var oReq = new XMLHttpRequest();oReq.addEventListener("load", getData);oReq.open("GET", "family.json");oReq.send();
你会发现用原生AJAX传进来的,就是字串的json结构,必须要用JSON.parse转换成物件的结构才能取用资料。
但是如果是用jQuery封装好的ajax方法的话,他就会自动帮你转换成物件结构。
// jQuery Ajax$.ajax({ url: "family.json"}).done(function (data) { console.log(data);});
另外,也可以透过 开发者工具 > Network > 点选档案 > Response > 原始json的字串资料
来观察原来的资料结构
结论来说,json是字串的一种,跟物件的结构相似,但他以字串的方式进行讯息的传递。
可以透过 JSON.stringify
以及 JSON.parse
分别传换为 json字串 或是 物件格式 的资料结构。
以上就是关于json的文章内容,希望可以帮助到大家~汪汪