JSON是什么?
是一种轻量级的数据交换格式,完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON 的基本语法?
- 数据使用名/值对表示。
- 使用大括号保存对象,每个名称后面跟着一个 ':'(冒号),名/值对使用 ,(逗号)分割。
- 使用方括号保存数组,数组值使用 ,(逗号)分割。
2JSON 支持以下两种数据结构:
名/值对集合: 这一数据结构由不同的编程语言支持。
有序的值列表: 包括数组,列表,向量或序列等等。
JSON 语法规则
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON 值
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
JSON 文件
- JSON 文件的文件类型是 ".json"
- JSON 文本的 MIME 类型是 "application/json"
JSON 数据类型
JSON 格式支持以下数据类型:
类型 | 描述 |
---|---|
数字型(Number) | JavaScript 中的双精度浮点型格式 |
字符串型(String) | 双引号包裹的 Unicode 字符和反斜杠转义字符 |
布尔型(Boolean) | true 或 false |
数组(Array) | 有序的值序列 |
值(Value) | 可以是字符串,数字,true 或 false,null 等等 |
对象(Object) | 无序的键:值对集合 |
空格(Whitespace) | 可用于任意符号对之间 |
null | 空 |
JSON 对象
- 创建一个空对象:
1、获取属性
var JSONObj = {};
var JSONObj = { "bookname ":"VB BLACK BOOK", "price":500 };
JSONObj.name:通过对象点属性获取属性值
2、获取值
var myObj, x;
myObj = { "name":"w3cschool", "alexa":8000, "site":null };
x = myObj["alexa"];
3、获取对象与值
<script>
var myObj = { "name":"w3cschool", "alexa":8000, "site":null };
for (x in myObj) {
document.getElementById("demo").innerHTML +=x +":"+myObj[x] + "<br>";
}
</script>
4、遍历json数组
myObj = [{
"name":"runoob",
"alexa":10000,
"sites": {
"site1":"www.runoob.com",
"site2":"m.runoob.com",
"site3":"c.runoob.com"
}
}
]
for(var i=0;i<myObj.length;i++){
var name=myObj[i].name;
var alexa=myObj[i].alexa;
var sites=myObj[i].sites;
var site1=sites.site1;
var site2=sites.site2;
var site3=sites.site3;
alert("姓名:"+name+",现金:"+alexa+"参数1:"+site1+"参数2"+site2+"参数3"+site3);
}