json粗浅认识

以下是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:

<script type="text/javascript">
var JSONObject= {
"name":"Bill Gates",
"street":"Fifth Avenue New York 666",
"age":56,
"phone":"555 1234567"};
document.getElementById("jname").innerHTML=JSONObject.name
document.getElementById("jage").innerHTML=JSONObject.age
document.getElementById("jstreet").innerHTML=JSONObject.street
document.getElementById("jphone").innerHTML=JSONObject.phone
</script>

 

posted @ 2016-06-25 16:35  shanwater  阅读(221)  评论(0编辑  收藏  举报