js陣列和json資料和js物件的區別
一維陣列:var arr=new array();
arr=["1", "2" , "3"]; //console.log( arr[1] )
二維陣列:var arr=new array();
arr=[ [1,2,3] , [1,2,3] , [1,2,3] ] //console.log( arr[1][2] )
json一維物件:
var jso={
'name': "bob",
'url': 'www.baidu.com',
'age': '12'
} //console.log( jso.name)或者 console.log(jso['name']
json二維物件:
var jso={
'name': {"boy": "mike", "girl": "amy"},
'age': '12'
} //console.log( jso.name.boy ) 或者 console.log( jso['name']['boy'] )
JSON只是一種資料格式(或者叫資料形式);
區別 |
Json |
Javascript物件 |
含義 |
僅僅是一種資料格式 |
表示類的例項 |
傳輸 |
可以跨平臺資料傳輸,速度快 |
不能傳輸 |
表現 |
1,鍵值對方式,鍵必須加雙引號 2,值不能是方法函式,不能是undefined/NaN |
1,鍵值對方式,鍵不加引號 2,值可以是函式、物件、字串、數字、boolean 等 |
相互轉換 |
Json轉化為js物件: 1,JSON.parse(jsonstring);
2,Jsobj=eval("("+jsonstring+")"); (相容所有瀏覽器,但不安全,會執行json裡面的表示式?) |
Js物件轉換為Json: JSON.stringify(jsobj);(不相容ie7) |
其他 |
呼叫json官網的js,實現parse 和 stringify 在各個瀏覽器的相容: https://github.com/douglascrockford/JSON-js/blob/master/json2.js |