Json學習筆記

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   ar   使用   java   sp   

JSON:JavaScript 物件標記法(JavaScript Object Notation)。

JSON 是儲存和交換文本資訊的文法。類似 XML。

JSON 比 XML 更小、更快,更易解析。

 

JSON 文法規則

JSON 文法是 JavaScript 物件標記法文法的子集。

  • 資料在成對的名稱和數值中
  • 資料由逗號分隔
  • 花括弧儲存對象
  • 方括弧儲存數組
  JSON 檔案
  • JSON 檔案的檔案類型是 ".json"
  • JSON 文本的 MIME 類型是 "application/json"

 

JSON 成對的名稱和數值

JSON 資料的書寫格式是:成對的名稱和數值。

成對的名稱和數值包括欄位名稱(在雙引號中),後面寫一個冒號,然後是值:

"姓名" : "李明"

這很容易理解,等價於這條 JavaScript 語句:

姓名 = "李明"
JSON 值

JSON 值可以是:

  • 數字(整數或浮點數)
  • 字串(在雙引號中)
  • 邏輯值(true 或 false)
  • 數組(在方括弧中)
  • 對象(在花括弧中)
  • null

Json格式資料表示方法

Json使用花括弧表示對象,使用方括弧表示數組。二則的組合可以表述具有複雜結構的資料。

例如:

{key:value,key2:value2}[1,2,3,4,4,4,4,5,6,76]
[{"姓名":"李明","年齡":18},{"姓名":"李龍","年齡":19},{"姓名":"李百","年齡":17}]

程式例子:

var myJson = [{ "姓名": "李明", "年齡": 18 },            { "姓名": "李龍", "年齡": 19 },            { "姓名": "李百", "年齡": 17 }];        alert(myJson[0].姓名);        //讀取姓名        myJson[3].姓名 = "李白";       //修改姓名        alert(myJson[2].姓名);        //讀取姓名

運行結果如下:

由於運行期間更改了第三個對象的姓名,所以李百變成了李白了。

 

把 JSON 文本轉換為 JavaScript 對象

JSON 最常見的用法之一,是從 網頁伺服器上讀取 JSON 資料(作為檔案或作為 HttpRequest),將 JSON 資料轉換為 JavaScript 對象,然後在網頁中使用該資料。

 

解析Json

可以使用eval()函數解析Json資料

範例程式碼:

var str=‘[{ "姓名": "李明", "年齡": 18 },‘+            ‘{ "姓名": "李龍", "年齡": 19 },‘+        ‘{ "姓名": "李百", "年齡": 17 }]‘;            var obj = eval(str);

運行結果如下(運行結果是在IE11的開發人員工具裡的監視內容):

 

JSON 解析器

提示:eval() 函數可編譯並執行任何 JavaScript 代碼。這隱藏了一個潛在的安全問題。

使用 JSON 解析器將 JSON 轉換為 JavaScript 對象是更安全的做法。JSON 解析器只能識別 JSON 文本,而不會編譯指令碼。

在瀏覽器中,這提供了原生的 JSON 支援,而且 JSON 解析器的速度更快。

較新的瀏覽器和最新的 ECMAScript (JavaScript) 標準中均包含了原生的對 JSON 的支援。

網頁瀏覽器支援
Firefox (Mozilla) 3.5

  • Internet Explorer 8
  • Chrome
  • Opera 10
  • Safari 4

Web 軟體支援

  • jQuery
  • Yahoo UI
  • Prototype
  • Dojo
  • ECMAScript 1.5

Json學習筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.