资讯专栏INFORMATION COLUMN

JSON简介

LucasTwilight / 1767人阅读

1.JSON语法

JSON是一种轻量级的数据交换格式。
JSON语法可以表示以下三种类型的值:

简单值:string,number,boolean,null,不支持undefined

对象

数组

语法:

JSON字符串必须使用双引号

没有声明变量

没有末尾的分号

2.JSON解析与序列化 2.1JSON序列化

序列化函数:JSON.stringify()
JSON.stringify()可接收三个参数:

要序列化的JavaScript对象

一个过滤器(可以是一个数组也可以是一个函数)

控制结果中的缩进和空白符
用法1:过滤结果

//数组过滤器
var book = {
                "title":"Professional JavaScript",
                "edition":3,
                "year":2011,
                "authors":[
                    "EvanChen",
                    "Nicholas"
                ]
            };
var jsonText = JSON.stringify(book,["title","edition"]);//jsonText 中只包含title,edition两个属性
//函数过滤器
var book = {
                "title":"Professional JavaScript",
                "edition":3,
                "year":2011,
                "authors":[
                    "EvanChen",
                    "Nicholas"
                ]
            };
var jsonText = JSON.stringify(book,function(key,value){
    switch(key){
            case:"authors":
                return value.join(",");
            case:"year":
                return 5000;
            case:"edition":
                return undefined;//相当于删除该属性
            default:
                return value;

        }
   }             
 );//jsonText 中只包含title,edition两个属性

用法2:字符串缩进

var book = {
                "title":"Professional JavaScript",
                "edition":3,
                "year":2011,
                "authors":[
                    "EvanChen",
                    "Nicholas"
                ]
            };
var jsonText = JSON.stringify(book, null,4);
console.log(jsonText);
//输出结果
{
    "title": "Professional JavaScript",
    "edition": 3,
    "year": 2011,
    "authors": [
        "EvanChen",
        "Nicholas"
    ]
}
2.2解析选项

函数:JSON.parse()
JSON.parse()可接收两个参数

JSON数据

还原函数,该函数将在每个键值对上调用

var book = {
                "title":"Professional JavaScript",
                "edition":3,
                "year":2011,
                "authors":[
                    "EvanChen",
                    "Nicholas"
                ],
                releaseDate:new Date(2011,11,1)
            };
var jsonText = JSON.stringify(book);

var bookCopy = JSON.parse(jsonText,function(key,value){
        if(key==="releaseDate"){
            return new Date(value);
        } else{
            return value;
        }
    }
);
console.log(bookCopy.releaseDate.getFullYear());

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78997.html

相关文章

  • 《JavaScript数据结构与算法》笔记——第1章 JavaScript简介

    摘要:异或左移右移删除属性不同类型之间比较在比较对象时,比较的是引用和是内部方法对不同的类型返回结果如下表对不同类型返回结果如下类申明函数有两种方法在原型上申明函数,只会创建一次,在所有实例中共享,可以节约内存和降低实例化的开销在类定义中申明函数 ^ 异或 > 右移 delete 删除属性 不同类型之间==比较 showImg(https://segmentfault.c...

    Cheng_Gang 评论0 收藏0
  • JSON Web Token 简介

    摘要:在驱动开发的今天,针对的验证授权越来越重要,这是保证数据安全第一步。部分要创建签名部分,必须采用已编码的已编码的密匙签名算法。 在API驱动开发的今天,针对API的验证授权越来越重要,这是保证数据安全第一步。基于token授权的机制随着实践的不断进步也推陈出新,其中较为人知的有: HTTP Basic API Key OAuth2 JSON Web Token(JWT) 他们都有各...

    fevin 评论0 收藏0
  • 【开发工具学习之旅-JMeter】- JMeter简介以及HTTP协议使用测试

    摘要:简介以及协议使用测试简介简介官网的组成取样器进行脚本逻辑控制。测试结果的请求介绍以及使用提供的请求登录了做测试在中右键新建一个请求查看结果格式的请求实战格式发送数据,是以格式或者之类的数据来发送。发起请求模拟之后会出现以下错误。 ...

    dongfangyiyu 评论0 收藏0
  • 什么是npm系列:一、npm简介

    摘要:本文是系列的第一篇,知识很基础,作为一个热身文章,如果各位已经是开发熟练工了,完全可以跳过这篇。系列汇总什么是系列一简介什么是系列二的十八般武艺本文同步发表博客什么是系列一简介 showImg(https://segmentfault.com/img/bVbwqLS?w=1400&h=545); npm是Node.js的包管理工具,它的诞生也极大的促进了前端的发展,在现代前端开发中都离...

    dcr309duan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<