JSON,json線上解析
JSON (JavaScript Object Notation)使用 JavaScript文法來描述資料對象,但是 JSON 仍然獨立於語言和平台。JSON 解析器和 JSON 庫支援許多不同的程式設計語言,JSON 資料可使用 AJAX 進行傳輸。JSON 文本的 MIME 類型是 "application/json"。
JSON 文法規則
JSON 文法是JavaScript 物件標記法文法的子集。
l 資料在名稱/值對中
l 資料由逗號分隔
l 花括弧儲存對象
l 方括弧儲存數組
JSON 值可以是:
l 數字(整數或浮點數)
l 字串(在雙引號中)
l 邏輯值(true 或 false)
l 數組(在方括弧中)
l 對象(在花括弧中)
l null
JSON舉例
var txt = '{"employees" : [' +'{"firstName":"Bill" , "lastName":"Gates"},' +'{"firstName":"George" ,"lastName":"Bush" },' +'{"firstName":"Thomas" ,"lastName":"Carter" } ]}';
由於 JSON 文法是JavaScript 文法的子集,JavaScript 函數 eval() 可用於將 JSON 文本轉換為 JavaScript 對象。
eval() 函數使用的是JavaScript 編譯器,可解析 JSON 文本,然後產生 JavaScript 對象。必須把文本包圍在括弧中,這樣才能避免語法錯誤:
var obj = eval("(" + txt + ")");
也可以直接建立一個JSON對象:
var jsonObject ={"manager":"Tom","employees": [ { "firstName":"Bill" ,"lastName":"Gates" }, { "firstName":"George" ,"lastName":"Bush" }, { "firstName":"Thomas" ,"lastName":"Carter" } ]}
擷取JSON中的資料:
擷取經理的名字:jsonObject.manager
擷取第二個員工的姓:jsonObject.Employees[1]. lastName