JSON: JavaScript Object Notation(JavaScript 对象标记法)。
JSON 是一种存储和交换数据的语法。
1、语法
JSON的语法是JS语法的子集
(1)数据在名称/值对中(2)数据由逗号分隔(3)花括号容纳对象(4)方括号容纳数组
JSON 对象数据是使用键值对的形式
"name":"huangyuyueniao"
"city":"ChangSha"
在 JSON 中,值必须是以下数据类型之一:
字符串数字 JSON 对象 数组 布尔 null
2、解析JSON代码
使用到parse()函数JSON.parse(解析的代码)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p id="demo"></p>
<script>
var person ='{"name":"huangyueyue","age":18}';
var x=JSON.parse(person);
document.getElementById("demo").innerHTML=x.name;
</script>
</body>
</html>
解析时间函数Date()
使用方法:解析后的代码.json对象 = new Date (解析后的代码.json对象)
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var text = '{ "birth":"1955-10-28"}';
var obj = JSON.parse(text);
obj.birth = new Date(obj.birth);
document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;
</script>
</body>
</html>
解析函数function
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var text = '{"age":"function() {return 18;}"}';
var obj = JSON.parse(text);
obj.age = eval("(" + obj.age + ")");
document.getElementById("demo").innerHTML = obj.name + ", " + obj.age();
</script>
</body>
</html>
3、字符化JSON代码
使用到stringify()函数 JSON.stringify(js代码)
<!DOCTYPE html>
<html>
<body>
<p id="demo1"></p>
<script>
var obj = {
name: "huangyueyue",
age: 18,
city: "ChangSha"
};
var myJSON = JSON.stringify(obj);
document.getElementById("demo1").innerHTML = myJSON;
</script>
</body>
</html>
4、JSON对象
JSON 对象被花括号 { } 包围。
{
name: "huangyueyue",
age: 18,
city: "ChangSha"
}
访问对象的值使用 .,或者使用方括号 [ ] 来访问对象值
修改值同理,访问对象后赋值即可
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var obj = {
name: "huangyueyue",
age: 18,
city: "ChangSha"
};
var x = obj["name"];
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
遍历对象,使用 for in循环
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var myObj, x;
myObj = {
"name": "huangyueyue",
"age": 18,
"city": "ChangSha"
};
for (x in myObj) {
document.getElementById("demo").innerHTML += x + "<br>";
}
</script>
</body>
</html>
删除值,delete()
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var myObj, x;
myObj = {
"name": "huangyueyue",
"age": 18,
"city": "ChangSha"
};
delete myObj.city;
for (x in myObj) {
document.getElementById("demo").innerHTML += x + "<br>";
}
</script>
</body>
</html>