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对象的简单实现方法全部内容了,希望大家多多支持全福编程网~