json 定义
json是一种轻量级的数据交换格式。用来存储和表示数据。用于不同计算机的数据交换。现在时代,前后端分离,数据交互变得非常重要,json主要的语言格式。
web 1.0时代
登陆如果失败需要刷新页面,才可以重新登陆。
web 2.0时代
大都数网站现在都是局更新,在不刷新整个页面的情况下,实现页面更新。异互更新。web2.0时代最重要的因素就是ajex
例:注册的时候,手机号被注册了,会在后面直接显示手机号被注册。
json语法:
在js语言中一切都是对象。因此,任何js支持的类型都可以通过json来表示。如:字符串,数字,对象,数组等。
语法格式:
1. 对象表示为键值对
2. 数据由逗号分隔
3. 花括号保存对象
4. 方括号保存数组
{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]
}
这个employee对象包含三个员工对象的数组。
实例:json需要写到前端。
<html>
<body>
<h2>在 JavaScript 中创建 JSON 对象</h2>
<p>
Name: <span id="jname"></span><br />
Age: <span id="jage"></span><br />
Address: <span id="jstreet"></span><br />
Phone: <span id="jphone"></span><br />
</p>
<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>
</body>
</html>
json名称/值对
json数据的书写格式是:名称/值对(“firstname” : “john”)
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"firstName" : "john"
等价于javascript:
firstName = "john"
json值
json值可以是:
1. 数字(整数或浮点数)
2. 字符串(在双引号中)
3. 逻辑值(true 或 false)
4. 数组(在方括号中)
5. 对象(在花括号中)
6. null
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转换成JavaScript
JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据,然后转换成JavaScript对象,然后在网页中使用该数据。
实例:
包含json语法的JavaScript字符串:
var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
因为json是JavaScript语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
实例:
将JavaScript转化成json:
<html>
<body>
<script type="text/javascript">
var user= {
name:"zenk",
age:3,
sex:"male"
};
</script>
console.log(user);//输出这个对象在console台
//将js对象转化成json字符串;
var str = JSON.stringify(user);
console.log(str);
//得到的结果是 {"name":"zenk" , "age":3, "sex":"male"}
//将json文件转化成JavaScript对象
var obj = JSON.parse(str);
console.log(obj);
</body>
</html>