以下是w3school摘录的学习心得:
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象(重要)
- 方括号保存数组(重要)
JSON 值
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
说明:可简单的这样理解,放在{}里面的就是对象,放在[]里面的就是数组。关键是,可以无限的嵌套。
如:
以内部系统管理员为例:
{ "usertype": 2, "user_info":{ "userid":"xxxx", "name":"xxxx", "avatar":"xxxx" },//值为对象 "corp_info":{ "corpid":"wx6c698d13f7a409a4", }, "agent":[ {"agentid":0,"auth_type":1}, {"agentid":1,"auth_type":1}, {"agentid":2,"auth_type":1} ],//值为数组 "auth_info":{ "department":[ { "id":"2", "writable":"true" } ] },//嵌套 "redirect_login_info":{ "login_ticket":"xxxx", "expires_in":36000 }}
JSON 数组
JSON 数组在方括号中书写:
数组可包含多个对象:
{"employees": [{ "firstName":"John" , "lastName":"Doe" },{ "firstName":"Anna" , "lastName":"Smith" },{ "firstName":"Peter" , "lastName":"Jones" }]}
JSON 文件
- JSON 文件的文件类型是 ".json"
- JSON 文本的 MIME 类型是 "application/json"
在javascript中json格式的文本,可直接转换成javascript的对象:如下例子:
例子1:
<html>
<body><h2>通过 JSON 字符串来创建对象</h3><p>First Name: <span id="fname"></span><br /> Last Name: <span id="lname"></span><br /> </p> <script type="text/javascript">var txt = '{"employees":[' +'{"firstName":"Bill","lastName":"Gates" },' +'{"firstName":"George","lastName":"Bush" },' +'{"firstName":"Thomas","lastName":"Carter" }]}';obj = JSON.parse(txt);//var obj = eval ("(" + txt + ")");使用该语句也得可以
document.getElementById("fname").innerHTML=obj.employees[1].firstName
document.getElementById("lname").innerHTML=obj.employees[1].lastName </script></body></html>例2: