JSON(JavaScript對象表示法),它的出現讓XML漸漸退出了數據交互格式的舞臺。JSON是一種輕量級的數據交互格式,很多編程語言都支持對JSON的解析和序列化
* * * * *
JSON格式實際上只有兩個東西:key和value,value可以表示簡單值、對象、數組。
1.表示簡單值
~~~
//最簡單的JSON
"SunnyChuan"
~~~
<br>
2.表示對象
~~~
//JSON
{
"name":"SunnyChuan",//逗號分隔
"age":21//結尾沒有分號
}
~~~
~~~
//對比JavaScript對象字面量表示
var obj={
name:"SunnyChuan",
age:21
};
~~~
通過對比可以看出,JSON的key必須用雙引號括起來(單引號錯誤),沒有末尾的分號,這兩個是常見的錯誤。
<br>
3.表示數組
~~~
[
{
"name":"SunnyChuan",
"age":21
},
{
"name":"LuckyJing",
"age":20
}
]
~~~
<br>
4.復雜的JSON
通過對象、數組的組合,JSON可以組合成復雜的形式,數組里嵌套對象,對象里面嵌套數組等,可以通過JSON在線校驗工具來測試JSON格式是否正確。http://json.cn/
<br>
5.JSON解析和序列化
解析:通過JSON.parse()將JSON數據轉化為對象,eval()也可以解析JSON但是不推薦。
~~~
//myJson.json文件
{
"name":"SunnyChuan",
"age":21
}
//前端代碼
window.onload=function(){
var xml=new XMLHttpRequest();
xml.onreadystatechange=function()
{
if(xml.readyState==4 && xml.status==200)
{
console.log(JSON.parse(xhr.responseText).name)//SunnyChuan
}
};
xml.open("get","myJson.json");
xml.send();
}
~~~
序列化:JSON.stringify()將JavaScript對象序列化為JSON數據格式發送給后端。
~~~
var obj={
name:"SunnyChuan",
age:21
};
//省去一些代碼
xml.open("POST","ajax.php");
var data=JSON.stringify(obj);
xml.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xml.send(data);
~~~
后端將會接收到字符串{"name":"SunnyChuan","age":21}
<br>
JSON作為數據格式是前后端交互必用(也可以用XML)的,個人做項目的時候深深感受到了JSON帶來的便利。
- html/css
- 不一樣的css3之Transform
- 不一樣的css3之Transition
- 不一樣的css3之Animation
- Less初學
- Sass初學
- 水平垂直居中那些事
- css優先級
- css基礎教學
- javascript
- 淺談javascript事件處理程序
- cookie,localStorage,sessionStorage的區別
- Ajax
- 說說JSON
- 數組常用的方法
- 字符串常用的方法
- 閉包之我的理解
- 常用DOM操作
- 扒一扒所謂的面向對象
- JS Blob對象
- ES6學習筆記(一)
- ES6學習筆記(二)
- 用ES6書寫React
- React+Redux實戰總結
- 基于Express搭建開發環境
- 其他
- github初學
- 輕松配置Webpack
- asp.net學習筆記
- ado.net
- 如何使用ajax進行前后端交互
- 銀行大廳自助服務系統需求分析
- 西電銀行開發手冊
- 接口
- ajax