1. 程式人生 > >js陣列和json資料和js物件的區別

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);
(不相容ie7)

 

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