json粗浅认识
Posted shanwater
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于json粗浅认识的主要内容,如果未能解决你的问题,请参考以下文章