JSON的定义
JSON:javascript对象表示法,存储交换文本信息,轻量级的文本数据交换格式;
JSON使用JavaScript语法来描述数据对象,JSON 解析器和 JSON 库支持许多不同的编程语言。独立于其他语言或者平台。
实例1:
{
"student":[
{"sno":"10001","name":"张三","age":"20"},
{"sno":"10002","name":"李四","age":"21"},
{"sno":"10003","name":"王二","age":"23"}
]
}
student对象是包含了三条学生信息的数组。
json语法:
json的语法是JavaScript对象表示语法的子集;
具体有以下几点(可以对照实例1理解)
- 数据在 名称 /值对 中
名称/值对 :字段名称(在双引号中),后面写一个冒号,然后是值
"sno":"10001"
- 数据由逗号分隔
- 大括号保存对象
- 中括号保存数组
JSON值
- 数字(整数或浮点数)
{ "age1":30 }
{ "age2":30.00 }
- 字符串(在双引号中)
{ "name":"张三" }
- 逻辑值(true 或 false)
{ "flag1":true }
{ "flag2":flase }
- 数组(在中括号中)(数组中可以包含多个json对象)
{
"student":[
{"sno":"10001","name":"张三","age":"20"},
{"sno":"10002","name":"李四","age":"21"},
{"sno":"10003","name":"王二","age":"23"}
]
}
- 对象(在大括号中)
{"sno":"10001","name":"zhangsan","age":30 }
- null
{ "hobby":null }
JSON 文件
- JSON 文件的文件类型是 ".json"
- JSON 文本的 MIME 类型是 "application/json"
JSON和JavaScript对象的转换
JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。
所以不需要解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。
实例2:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JSON实例</title>
</head>
<body>
<h2>JavaScript 创建 JSON 对象</h2>
<p>
学号: <span id="sno"></span><br />
姓名: <span id="name"></span><br />
年龄: <span id="age"></span><br />
</p>
<script>
var JSONObject= {
"sno":"10001",
"name":"张三",
"age":"21"
};
document.getElementById("sno").innerHTML=JSONObject.sno ;
document.getElementById("name").innerHTML=JSONObject.name;
document.getElementById("age").innerHTML=JSONObject.age;
</script>
</body>
</html>
测试结果如下:
通过 JavaScript,也可以创建一个json对象数组,并像这样进行赋值:
var students=[
{"sno":"10001","name":"张三","age":"20"},
{"sno":"10002","name":"李四","age":"21"},
{"sno":"10003","name":"王二","age":"23"}
];
访问 JavaScript 对象数组中的第一项(索引从 0 开始):sites[0].name;
返回的内容是:张三;
可以像这样修改数据:sites[0].age="23"。