美文网首页Vue实战专题
轻量级数据交换格式JSON

轻量级数据交换格式JSON

作者: 极课编程 | 来源:发表于2019-04-13 22:31 被阅读30次

json是一种数据格式,不是一种编程语言。
json是一种轻量级的数据格式,可以简化表示复杂数据结构的工作量。

1、语法
①json字符串必须使用双引号
②没有声明变量
③没有末尾分号
④json对象中的属性名必须加双引号

json的语法可以表示三种类型的值
简单值:使用与js相同的语法,可以在json中表示字符串、数值、布尔值和null。(不支持undefined)

"hello world"

对象:

{
     "name":"Ewall",
     "age":21
}

数组:

[25,"ewall",true]

2、JSON对象
两个方法:stringfy( ):把js对象序列化为json字符串
parse( ):把json字符串解析为原生js值

var person={
    name:"Ewall",
    friends:["joe","frank"],
    edition:3,
    year:2017
};
var jsonText=JSON.stringify(person);
console.log(jsonText);

3、JSON.stringfy( )的具体用法
该方法可以传入三个参数,第一个参数是要序列化的对象;第二个是个过滤器(可以是数组或者是函数);第三个是一个选项,表示是否在JSON字符串中保留缩进。
①当过滤器是数组,那么该方法返回的结果将只包含数组中列出的属性

var person={
    name:"Ewall",
    friends:["joe","frank"],
    edition:3,
    year:2017
};
var jsonText=JSON.stringify(person,["name","year"]);

console.log(jsonText); //{"name":"Ewall","year":2017}

②当过滤器是函数。传入的函数接收两个参数,属性名和属性值,根据属性名可以知道应该如何处理要序列化的对象中的属性。

var person={
    name:"Ewall",
    friends:["joe","frank"],
    edition:3,
    year:2017
};
var jsonText=JSON.stringify(person,function(key,value){
    switch(key){
        case "friends":
            return value.join(",");
        case "year":
            return undefined;  //通过返回undefined删除该属性
        default:
            return value;
    }
});
console.log(jsonText); //{"name":"Ewall","friends":"joe,frank","edition":3}

4、JSON.parse( )方法的具体用法
接收两参数:第一个参数是要序列化的对象;第二个参数是个还原函数。
在将日期字符串转换为Date对象是,经常要用到还原函数。

var person={
    name:"Ewall",
    friends:["joe","frank"],
    edition:3,
    year:2017,
    releaseDate:new Date()
};
var jsonText=JSON.stringify(person);
console.log(jsonText);

var bookCopy=JSON.parse(jsonText,function(key,value){
    if(key=="releaseDate"){
        return new Date(value);  //基于相应的json值创建一个新的Date对象
    }else{
        return value;
    }
});
console.log(bookCopy.releaseDate);

相关文章

  • JSON数据格式

    JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 ...

  • js 和 json ( 转 )

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON格式的数据,主...

  • JSON笔记

    Json和XML类似,是一种轻量级的轻量级数据交换格式。 JSON形式 JSON字符串 JSON数组: JSON对...

  • Python模块·Json数据交换格式

    一、Json简介: JSON 是一种轻量级的数据交换格式。 数据交换格式是不同平台、语言中进行数据传递的通用格式 ...

  • Unity高级-数据序列化-Json

    JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于 [...

  • json

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 json.dumps...

  • JSON和XML

    定义 JSON定义 JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有...

  • JSON

    JSON 英文全称 JavaScript Object Notation JSON 是一种轻量级的数据交换格式。 ...

  • JSON or JSONP

    JSON 是什么? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。...

  • JSON Java 解析

    JSON 是什么? JavaScript Object Notation,一种轻量级的数据交换格式。 JSON 的...

网友评论

    本文标题:轻量级数据交换格式JSON

    本文链接:https://www.haomeiwen.com/subject/dbldwqtx.html