Calvin's Tech Space

          成于堅(jiān)忍,毀于浮躁

             :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理

          從結(jié)構(gòu)上看,所有的數(shù)據(jù)最終都可以分成三種類(lèi)型:

          第一種類(lèi)型是scalar(標(biāo)量),也就是一個(gè)單獨(dú)的string(字符串)或數(shù)字(numbers),比如“北京”這個(gè)單獨(dú)的詞。

          第二種類(lèi)型是sequence(序列),也就是若干個(gè)相關(guān)的數(shù)據(jù)按照一定順序并列在一起,又叫做array(數(shù)組)或List(列表),比如“北京,東京”。

          第三種類(lèi)型是mapping(映射),也就是一個(gè)名/值對(duì)(Name/value),即數(shù)據(jù)有一個(gè)名稱(chēng),還有一個(gè)與之相對(duì)應(yīng)的值,這又稱(chēng)作hash(散列)或dictionary(字典),比如“首都:北京”。

          Json的規(guī)格非常簡(jiǎn)單,只用一個(gè)頁(yè)面、幾百個(gè)字就能說(shuō)清楚,而且Douglas Crockford聲稱(chēng)這個(gè)規(guī)格永遠(yuǎn)不必升級(jí),因?yàn)樵撘?guī)定的都規(guī)定了。

          1) 并列的數(shù)據(jù)之間用逗號(hào)(“,”)分隔。

          2) 映射用冒號(hào)(“:”)表示。

          3) 并列數(shù)據(jù)的集合(數(shù)組)用方括號(hào)("[]")表示。

          4) 映射的集合(對(duì)象)用大括號(hào)(“{}”)表示。

          上面四條規(guī)則,就是Json格式的所有內(nèi)容。

          我還記得,在學(xué)習(xí)javascript的時(shí)候,我一度搞不清楚“數(shù)組”(array)和“對(duì)象”(object)的根本區(qū)別在哪里,兩者都可以用來(lái)表示數(shù)據(jù)的集合。

          比如有一個(gè)數(shù)組a=[1,2,3,4],還有一個(gè)對(duì)象a={0:1,1:2,2:3,3:4},然后你運(yùn)行alert(a[1]),兩種情況下的運(yùn)行結(jié)果是相同的!這就是說(shuō),數(shù)據(jù)集合既可以用數(shù)組表示,也可以用對(duì)象表示,那么我到底該用哪一種呢?

          我后來(lái)才知道,數(shù)組表示有序數(shù)據(jù)的集合,而對(duì)象表示無(wú)序數(shù)據(jù)的集合。如果數(shù)據(jù)的順序很重要,就用數(shù)組,否則就用對(duì)象。


          鏈接:
          http://www.ruanyifeng.com/blog/2009/05/data_types_and_json.html
          posted on 2010-01-03 22:47 calvin 閱讀(239) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java
          主站蜘蛛池模板: 望城县| 嘉善县| 鹤庆县| 醴陵市| 托克托县| 张掖市| 漳浦县| 崇信县| 建阳市| 邵阳县| 措美县| 阿拉尔市| 东丽区| 鸡泽县| 建昌县| 集贤县| 苏州市| 维西| 志丹县| 剑阁县| 团风县| 百色市| 卢湾区| 太白县| 茌平县| 苗栗县| 安仁县| 彭阳县| 内江市| 巨鹿县| 新安县| 关岭| 松原市| 衡山县| 万源市| 凉山| 巨野县| 澄迈县| 壤塘县| 县级市| 黄石市|