JSON 語法規則
JSON 語法是 JavaScript 對象表示法語法的子集。
•數據在名稱/值對中
•數據由逗號分隔
•花括號保存對象
•方括號保存數組
JSON 對象
JSON 對象在花括號中書寫:
對象可以包含多個名稱/值對:
{ "firstName":"John" , "lastName":"Doe" }
這一點也容易理解,與這條 JavaScript 語句等價:
firstName = "John" lastName = "Doe"
JSON 數組
JSON 數組在方括號中書寫:
數組可包含多個對象:
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
在上面的例子中,對象 "employees" 是包含三個對象的數組。每個對象代表一條關於某人(有姓和名)的記錄。
JSON 文件
•JSON 文件的文件類型是 ".json"
•JSON 文本的 MIME 類型是 "application/json"
JSON文本轉換為 JavaScript 對象
JavaScript 函數 eval() 可用於將 JSON 文本轉換為 JavaScript 對象。
eval() 函數使用的是 JavaScript 編譯器,可解析 JSON 文本,然後生成 JavaScript 對象。必須把文本包圍在括號中,這樣才能避免語法錯誤:
var obj = eval ("(" + jsontxt + ")");
示例:
$.ajax({ type: 'POST', url: '../../caseHandler.ashx?action=GetCase&id=' + id.toString(), //url action是方法的名稱 data: "", dataType: "text", //可以是text,如果用text,返回的結果為字符串;如果需要json格式的,可以設置為json ContentType: "application/json; charset=utf-8", success: function (returnedData) { getMarkerFeature(eval("(" + returnedData+ ")")); }, error: function (msg) { alert("訪問失敗:"+ msg); } });
通過JavaScript創建對象數組
var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ];
JavaScript對象屬性訪問的兩種方式
object.attribute
object["attribute"]
例如:
var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ]; alert(employees[0].lastName); // 方式一 alert(employees[0]["lastName"]); // 方式二
以上就是小編為大家帶來的json對象與數組以及轉換成js對象的簡單實現方法全部內容了,希望大家多多支持~