javascript权威指南第20章 JSON

//20.1 语法
//JAVASCRIPT 是对JSON数据支持的。
//JSON 可以申明三种类型的值  简单值("hello world") 对象({"name":"maosi"}) 数组(["a","b","c"])

//20.1.2 json对象

var person = { "name": "Nicholas", "age": 29 };
person = {
    "name": "Nicholas",
    "age": 29,
    "school": {
        "name": "Merrimack College",
        "location": "North Andover,MA"
    }
}
//js 对象
var person = { name: "Nicholas", age: 29 };

//20.1.3 数组(js语法与json 数组一样)
var values = [25, ‘hi‘, true];
//复杂结构数组
[
    {
        "title": "Professnional javascript",
        "authors": [
            "Nicholas C Zakas"
        ],
        edition: 3,
        year: 2011
    },
    {
        "title": "Professnional javascript",
        "authors": [
            "Nicholas C Zakas"
        ],
        edition: 2,
        year: 2009
    }
]

//20.2 解析与序列化

//序列化
var book = {
    title: "professional JavaScript",
    authors: ["Nicholas C Zakas"],
    edition: 3,
    year: 2011,
    releaseDate:new Date(2011,1,1);
};
var jsontext = JSON.stringify(book);

//20.2.2 序列化选项

jsontext = JSON.stringify(book, ["title", "edition"]); //表示序列化的属性数组(指定只序列化哪些属性)
//序列化属性进行逻辑处理
jsontext = JSON.stringify(book, function (key, value){
    switch (key) {
        case "authors":
            return value.JSON(‘,‘);
        case "year":
            return 5000;
        case "edition":
            return undefined; //此处被定义为undefined后字符串后序列化时会忽略该字段,ignore
        default:
            return value;
    }

});

//JSON字符串缩进,上述方法会把JSON序列化成一行长长的字符串
jsontext = JSON.stringify(book,null,4); //第三个参数表示每个级别缩进的空格数

JSON.parse(jsontext,function(key,value){
     if(key ==‘releaseDate‘){
         return new Date(value); //特定对象要进行字符串还原操作
     }
     else{
         return value;
     }
});

//20.3 小结

  

原文地址:https://www.cnblogs.com/ms_senda/p/11518840.html

时间: 2024-11-05 23:22:44

javascript权威指南第20章 JSON的相关文章

JavaScript权威指南第20章 客户端存储

20 客户端存储 客户端存储的几种形式: web存储 cookie IE userData 离线应用 web数据库 文件系统api 20.1 localStorage 和 sessionStorage 20.1 .1 存储有效期和作用域 localStorage 和 sessionStorage区别在于存储的有效期和作用域不同. localStorage的作用域限制在文档源级别的. 文档源:协议 主机名 端口 决定同一个文档源 同源的文档源可以共享同一个localStorage,甚至可以修改和覆

JavaScript权威指南第03章 类型、值和变量

类型.值和变量 数据类型分类: 原始类型(primitive type):数字 字符串 布尔值 null undefined 对象类型(object type): 对象是属性的集合,每个属性都由"名/值"对构成. javascript解释器有自己的内存管理机制,可以自动对内存进行垃圾回收. 3.1数字 javascript不区分浮点和整型,所有的数字都是按照浮点型处理. 3.1.1整型直接量 3.1.2浮点型直接量 3.1.3算数运算 3.1.4二进制浮点数和四舍五入错误 当进行小数进

JavaScript权威指南第13章 web浏览器中的javascript

13.1 客户端javascript window对象是所有的客户端javascript特性和api的主要接入点.表示浏览器的一个窗口,可以通过window对象来引用它. window 的方法 alert() prompt() confirm() 13.2 在html里嵌入javascript 4种方法: 内联:放置在<script></script>标签之中 外部引入:<script src="   "></script> html程序

JavaScript权威指南第04章 表达式和运算符

www.qdmm.com/BookReader/1845423,31051137.aspx www.qdmm.com/BookReader/1845423,31073665.aspx www.qdmm.com/BookReader/1845423,31088923.aspx www.qdmm.com/BookReader/1845423,31104070.aspx www.qdmm.com/BookReader/1845423,31114804.aspx www.qdmm.com/BookRea

JavaScript权威指南第01章 JavaScript 概述

JavaScript 概述 html +css +JavaScript = 网页三大利器 特点: 健壮性 高效性 通用性 1.JavaScript  语言核心 2.客户端JavaScript JavaScript权威指南第01章 JavaScript 概述

JavaScript权威指南第02章 词法结构

词法结构 2.1字符集 JavaScript 是Unicode字符集编写,几乎支持地球上所有的语言. 2.1.1区分大小写 javascript是区分大小写的语言. 2.1.2 空格.换行符和格式控制符 javascript会忽略标识之间的空格符.换行符.通过空格和换行可以大大地提高代码的可读性.当需要使用空格和换行符时,使用Unicode的转义来实现. 2.2注释 单行注释     //这里是单行注释 多行注释    /**多行注释 */ 2.3直接量 在程序中能够直接使用的量,比如数字,字符

JavaScript权威指南第08章 函数

函数 在javascript中,函数是对象,所以可以给函数设置属性,可以调用他们的方法. 8.1函数定义 function 函数名(参数列表){ 语句内容 } 函数命名规则 1.字母之间用下划线 like_this() 2.非首字母的单词首字母大写 likeThis() 嵌套函数 在函数里面定义函数 8.2函数调用 函数调用的4种方法 1.函数 2.方法 3.构造方法 4.apply call 简介调用 8.3函数的实参和形参 8.4作为值的函数 8.5作为命名空间的函数 8.6闭包 8.7函数

JavaScript权威指南第09章 类和模块

类和模块 类的实现是基于继承机制的,如果两个类继承同一个原型对象,那么也就是说,也就意味着使用同一个构造函数来实例化,它们是同一个类的实例. 9.1类和原型 在javascript中,类的实例都是从同一个原型对象上继承属性,所以原型对象是类的核心. 9.2类和构造函数 构造函数是初始化新创建对象的函数. 构造函数的prototype属性被用作新对象的原型,因此,同一个构造函数的实例化的对象都继承自同一个对象. 9.3javasript中的java式的类继承 实例字段 实例方法 类字段 类方法 9

JavaScript权威指南第05章 语句

语句 5.1表达式语句 赋值语句 递增递减运算 delete运算符(不常用) 函数调用 5.2复合语句和空语句 1.语句块后面不要分号 2.缩进代码 3.javascript没有块级作用域 如果有特殊的目的使用空语句,那么应该加入注释,说明空语句的作用. 5.3声明语句 5.3.1 var var 声明一个变量,变量列表后面可以跟变量或者表达式. 如果var出现在函数体内,那么作用域是该函数,如果出现在顶层代码,那么这个变量是全局变量. var 定义变量后没有被赋值,其值为undefined.