10. JavaScript学习笔记——JSON

前端开发 作者: 2024-08-26 01:05:01
10. JSON

10. JSON

///【JSON是一种数据格式,不是JS 独有的】
///【JSON语法】
/*
1.数据书写格式:"name":value,JSON要求给属性名加上【双引号】,JSON不能用单引号
2.JSON值可以是:数字(整数、浮点数),字符串,布尔值(true false),数组,对象,null,注意没有undefined
3.数据由逗号分隔
4.大括号保存对象
5.中括号保存数组
*/
{
    "bool":false,"str":"string","num":12.3,"null":null,"arr":[1,"b",true],"obj":{   //数组、对象可以任意嵌套
        "a1":[1,2,3],"a2":false
    }
}


///【JSON对象】
//访问对象
alert(Jobj.name);//通过点
alert(Jobj["name"]);//通过[],同时这两种方法也可以修改

//循环对象
for(x in Jobj){
    console.log(x);//注意循环出的是JSON的属性名
}
for(x in Jobj){
    console.log(Jobj[x]);//通过索引来访问属性值,循环中不能通过 . 来获取属性值
}

//删除对象属性
delete Jobj.name
delete Jobj["name"]

//JSON对象与JSON字符串
var str = '{"name":"bin","age":20}';
var obj = {"name":"bin","age":20};


///【解析与序列化】
//【JSON.parse()】
//JSON通常用于与服务端交换数据,接收到的服务端数据一般是字符串,可以使用JSON.parse()方法将其转换为JS对象
JSON.parse(text[,reviver]);//text是JSON字符串,reviver可选,为对象的每个成员调用此函数function(key,value){...return}

//【JSON.stringify()】
//向服务器发送数据时一般是字符串,用JSON.stringify()将JSON对象转换为字符串
JSON.stringify(value,[,replacer[,space]]);//value是JSON对象,replacer function(key,value){...return}

//【序列化选项】
//JSON.stringify()还可以接收另外两个参数,第一个参数是过滤器,可以是一个数组,也可以是一个函数;第二个参数是缩进选项。
//过滤结果
var book = {
    "title":"book1",year:2012,edition:3
}
var jsonText = JSON.stringify(book,["title"]) //只保留数组内给定的属性
alert(jsonText)//{"title":"book1"}

//函数形式
//该函数接收两个参数,分别是键和值,然后根据键值判断,如果返回值为 undefined,则响应的属性会被删除
var jsonText = JSON.stringify(book,function(key,value){
    switch(key){
        case "title":
            return value;
        case "year":
            return value+5;
        default: //必须加这个,必须返回value
            return value;
    }
})


//【字符串缩进】
//增加可读性
var jsonText = JSON.stringify(book,null,4)//缩进四个空格
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68696.html