json

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 + "
"; }
  • 嵌套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

  • 对象中的数组

  • 循环数组
myObj = {
    "name":"网站",
    "num":3,
    "sites":[ "Google", "Runoob", "Taobao" ]
}
for (i in myObj.sites) {
    x += myObj.sites[i] + "
"; } document.getElementById("demo").innerHTML = x ;

或者

for (i = 0; i < myObj.sites.length; i++) {
    x += myObj.sites[i] + "
"; }
  • 嵌套 JSON 对象中的数组
myObj = {
    "name":"网站",
    "num":3,
    "sites": [
        { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },
        { "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] },
        { "name":"Taobao", "info":[ "淘宝", "网购" ] }
    ]
}

遍历

for (i in myObj.sites) {
    x += "

" + myObj.sites[i].name + "

"; for (j in myObj.sites[i].info) { x += myObj.sites[i].info[j] + "
"; } }

你可能感兴趣的:(json)