JavaScript
的延伸,可通过eval()处理JSON字符串;
数据传输快,网络占用小;
语法
对象
- JSON对象在
{}
中书写; - 对象可以包含多个
key:value
; - key必须是字符串,value可以使合法的JSON数据类型,
(串、数字、对象、数组、布尔或null)
; - key使用:分割;
- 每个
key/value
使用逗号(,)分割;
数组
{
"sites": [
{ "name":"github" , "url":"www.github.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
}
对象数组
var sites = [
{ "name":"github" , "url":"www.github.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
];
*访问:sites[0].name;——>github
*修改数据:sites[0].name="blog";
文件类型
- JSON 文件的文件类型是
".json"
- JSON 文本的 MIME 类型(描述消息内容类型的因特网标准)是
"application/json"
访问 - 访问对象
对象.key
或者对象[key]
- 访问数组
myObj.sites[0]
- 循环对象
for in
for (x in myObj) {
document.getElementById("demo").innerHTML += x + "<br>";
}
- 嵌套JSON对象
使用点号(.)或者中括号([])来访问嵌套的 JSON 对象
x = myObj.sites.site1;
// 或者
x = myObj.sites["site1"];
- 修改JSON值
myObj.sites.site1 = "www.google.com";
- 删除JSON值
delete myObj.sites.site1;
数组
语法:
[]
中书写,其包含合法的JSON数据类型(字符串、数字、对象、数组、布尔、null)
其中还可以是JS表达式函数、日期、(未定义)undefined
- 对象中的数组
<p id="demo"></p>
<script>
var myObj, x;
myObj = {
"name":"网站",
"num":3,
"sites":[ "Google", "Runoob", "Taobao" ]
}
x = myObj.sites[1];
document.getElementById("demo").innerHTML = x;
</script>
- 循环数组
myObj = {
"name":"网站",
"num":3,
"sites":[ "Google", "Runoob", "Taobao" ]
}
for (i in myObj.sites) {
x += myObj.sites[i] + "<br>";
}
document.getElementById("demo").innerHTML = x ;
或者
for (i = 0; i < myObj.sites.length; i++) {
x += myObj.sites[i] + "<br>";
}
- 嵌套 JSON 对象中的数组
myObj = {
"name":"网站",
"num":3,
"sites": [
{ "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },
{ "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] },
{ "name":"Taobao", "info":[ "淘宝", "网购" ] }
]
}
遍历
for (i in myObj.sites) {
x += "<h1>" + myObj.sites[i].name + "</h1>";
for (j in myObj.sites[i].info) {
x += myObj.sites[i].info[j] + "<br>";
}
}
网友评论