导读:
1.什么是JSON
- JSON 指的是 JavaScript 对象标记法(JavaScript Object Notation)
- JSON 是一种轻量级的数据交换格式
- JSON 具有自我描述性且易于理解
- JSON 独立于语言*
2.为什么使用JSON
因为JSON 格式是文本,它能够轻松地在服务器浏览器之间传输,用作任何编程语言的数据格式。
3.JSON 与 XML 的区别
- JSON 不使用标签
- JSON 更短
- JSON 的读写速度更快
- JSON 可使用数组
4.为什么 JSON 比 XML 好?
- XML 比 JSON 更难解析。
- JSON 被解析为可供使用的 JavaScript 对象。
一.JSON 使用 javascript 语法 (JSON 对象)
你可以这样访问对象,并对他进行操作
<body>
<h1>Javascript 对象</h1>
<script>
var myObj = {
"name": "Bill Gates",
"age": 62,
"car": 'BMW'
};
/* 使用 点号 获取 对象的值 */
var x = myObj.name;
console.log(x);
/* 使用 [] 获取 对象的值 */
var y = myObj["age"];
console.log(y);
/* 遍历对象的属性 */
for (z in myObj) {
console.log(z);
/* 遍历对象的值 */
console.log(myObj[z]);
}
/* 通过 点号 修改对象的值 */
myObj.age = 21
console.log(myObj.age);
/* 通过 [] 修改对象的值 */
myObj['age'] = 21
console.log(myObj.age);
/* delete 删除 对象的属性 */
delete myObj.car;
console.log(myObj);
</script>
</body>
二.JSON 数据类型
可以是:字符串 数字 对象(JSON 对象) 数组 布尔 Null
不可以是:函数 日期 undefined
三.JSON.parse() 将 JSON 字符串转换为 javascript 对象
<body>
<h1>用 JSON 字符串创建对象</h1>
<script>
// 创建一个 JSON 字符串
var text = '{"employees":[' +
'{"Name":"张三","age":"21" },' +
'{"Name":"李四","age":"22" },' +
'{"Name":"王五","age":"23" }]}';
console.log(typeof(text))
// 将 JSON 字符串转换为 javascript 对象
var obj = JSON.parse(text);
var b = obj.employees[1].Name + ' ' + obj.employees[1].age;
console.log(b)
console.log(typeof(obj));
</script>
四.JSON.stringify() 把 JavaScript 对象转换为 JSON 字符串
<body>
<p><h1>stringify</h1>把 JavaScript 对象转换为 JSON 字符串,然后发送到服务器。</p>
<script>
// 将 js 对象转换为 JSON 字符串
var myObj = {
name: "Bill Gates",
age: 62,
city: "Seattle"
};
var myJSON = JSON.stringify(myObj);
console.log(myJSON);
console.log(typeof(myJSON));
// 将js 数组转换为 JSON 字符串
var arr = ["Bill Gates", "Steve Jobs", "Elon Musk"];
var myJSON = JSON.stringify(arr);
console.log(myJSON);
</script>
</body>
五.JSON对象里面的数组
<script>
var myObj, x;
myObj = {
"name": "Bill Gates",
"age": 62,
"cars": ["Porsche", "BMW", "Volvo"]
};
x = myObj.cars[1];
console.log(x);
/* 使用索引号改变数组里面的值 */
myObj.cars[1] = 'benchi';
/* 遍历数组 */
for (i in myObj.cars) {
var a ='';
a += myObj.cars[i]
console.log(a);
}
</script>
六.JSONP
我不理解