json對象與數(shù)組以及轉(zhuǎn)換成js對象的簡單實現(xiàn)方法
JSON 語法規(guī)則
JSON 語法是 JavaScript 對象表示法語法的子集。
•數(shù)據(jù)在名稱/值對中
•數(shù)據(jù)由逗號分隔
•花括號保存對象
•方括號保存數(shù)組
JSON 對象
JSON 對象在花括號中書寫:
對象可以包含多個名稱/值對:
{ "firstName":"John" , "lastName":"Doe" }
這一點也容易理解,與這條 JavaScript 語句等價:
firstName = "John" lastName = "Doe"
JSON 數(shù)組
JSON 數(shù)組在方括號中書寫:
數(shù)組可包含多個對象:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在上面的例子中,對象 "employees" 是包含三個對象的數(shù)組。每個對象代表一條關(guān)于某人(有姓和名)的記錄。
JSON 文件
•JSON 文件的文件類型是 ".json"
•JSON 文本的 MIME 類型是 "application/json"
JSON文本轉(zhuǎn)換為 JavaScript 對象
JavaScript 函數(shù) eval() 可用于將 JSON 文本轉(zhuǎn)換為 JavaScript 對象。
eval() 函數(shù)使用的是 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,返回的結(jié)果為字符串;如果需要json格式的,可以設(shè)置為json
ContentType: "application/json; charset=utf-8",
success: function (returnedData) {
getMarkerFeature(eval("(" + returnedData+ ")"));
},
error: function (msg) {
alert("訪問失?。?+ msg);
}
});
通過JavaScript創(chuàng)建對象數(shù)組
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"]); // 方式二
以上就是小編為大家?guī)淼膉son對象與數(shù)組以及轉(zhuǎn)換成js對象的簡單實現(xiàn)方法全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
javascript算法之?dāng)?shù)組反轉(zhuǎn)
使用JavaScript實現(xiàn)node.js中的path.join方法
window.event.keyCode兼容IE和Firefox實現(xiàn)js代碼
JavaScript實現(xiàn)GriwView單列全選(自寫代碼)
基于js里調(diào)用函數(shù)時,函數(shù)名帶括號和不帶括號的區(qū)別

