JSON(JavaScript Object Notation )是一種輕量級的數據交換格式,採用徹底獨立於語言的文本格式,JSON是JavaScript原生數據格式。
php
在JSON中,有兩種數據結構:對象和數組。
git
1.一個對象以「{」開始,「}」結束。每一個「名稱」後跟一個「:」,「名稱/值」對之間運用「,」分隔,名稱用引號括起來,若是是字符串則必須用括號,數值類型則不須要。ajax
例:var obj={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};json
2.數組是值的有序集合,一個數組以「[」開始,以「]」結束,值之間用「,」分隔。
數組
例:var jsonranklist=[{"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"},{"xlid":"zd","xldigitid":123456,"topscore":1500,"topplaytime":"2009-11-20"}];數據結構
爲了方便處理JSON數據,JSON提供了json.js包,下載地址:http://www.json.org/json.js函數
在數據傳輸流程中,json是文本,即以字符串形式傳遞,而JS操做的是json對象,因此,JSON對象和JSON字符串之間能夠相互轉換。
測試
JSON字符串:
spa
var str1 = '{ "name": "cxh", "sex": "man" }';對象
JSON對象:
var str1 = { "name": "cxh", "sex": "man" };
3.JSON字符串轉換爲JSON對象:
//JSON字符串轉換JSON對象
var Obj = eval('('+ str +')');
var Obj = JSON.parse(str);
var Obj = str.parseJSON();
使用的時候直接,alert(Obj.name)。
*注:若是Obj自己就是一個JSON對象,用eval()函數處理後,結果仍是JSON對象,但用parseJSON()處理會拋出語法異常。
4.JSON對象轉化爲JSON字符串。
var str1 = Obj.toJSONString();
var str2 = JSON.stringgify(obj);
今天測試遇到的問題,php在將數據回傳給ajax時發現,用echo和print_r都沒有問題,var_dump回傳的數據在轉換成JSON對象時失敗 ,請大神詳解~~