//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 小结

  

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

  1. 【笔记】javascript权威指南-第六章-对象

    对象 //本书是指:javascript权威指南    //以下内容摘记时间为:2013.7.28 对象的定义: 1.对象是一种复合值:将很多值(原始值或者对象)聚合在一起,可以通过名字访问这些值. ...

  2. 【笔记】javascript权威指南-第三章-类型,值和变量

    javascript中的原始类型和对象类型(基本类型和引用类型) //本书是指:javascript权威指南    //以下内容摘记时间为:2013.7.27   计算机程序运行时需要对值(value ...

  3. javascript权威指南第11章 DOM扩展

    //javascript 权威指南 第三版 第11章 DOM扩展 //取得body元素 var body = document.querySelector("body"); //取 ...

  4. JavaScript高级程序设计第20章JSON 笔记 (学习笔记)

    第二十章 JSON 1.Json 可以表示三种类型的值: 1.简单值: 表示数值:5  表示字符串:“hello wrold”注表示字符串时必须使用双引号 2.对象: {“name”:“mi”,”ag ...

  5. JavaScript权威指南--第3章 类型、值和变量

    在编程语言中,能够表示并操作的值(value)的类型称作数据类型(type).使用变量来储存值.JavaScript中数据类型有两种:原始类型(primitive type/基本数据类型)和对象类型( ...

  6. JavaScript权威指南第03章 类型、值和变量(1)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/huangbin10025/article/details/27953481 类型.值和变量 数据类型 ...

  7. javascript权威指南第16章 HTML5脚本编程

    <!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...

  8. javascript权威指南第15章 使用Canvas绘图

    HTML <!DOCTYPE html> <html> <head> <title>canvas</title> </head> ...

  9. JavaScript权威指南科20章 client记忆

    20 client记忆 client几种形式存储的: web记忆 cookie IE userData 离线应用 web数据库 文件系统api 20.1 localStorage 和 sessionS ...

随机推荐

  1. Python进阶:生成器--懒人版本的迭代器

    从容器.可迭代对象谈起 所有的容器都是可迭代的(iterable),迭代器提供了一个next方法.iter()返回一个迭代器,通过next()函数可以实现遍历. def is_iterable(par ...

  2. 初始NLTK

    NLTK官网:链接 Natural Language Toolkit NLTK corpora and lexical resources such as WordNet, along with a ...

  3. C++中的构造函数与析构函数及组合类的调用

    // 构造函数与析构函数及类的组合 #include "stdafx.h"#include <iostream>using namespace std; //枚举enu ...

  4. 题解-CTS2019氪金手游

    Problem \(\mathtt {loj-3124}\) 题意概要:给定 \(n\) 个点,\(w_i\) 分别有 \(p_{i,1},p_{i,2},p_{i,3}\) 的概率取 \(1,2,3 ...

  5. Django model反向关联名称的方法(转)

    原文:https://www.jb51.net/article/152825.htm

  6. 本地安装SQL Server 2017 Express和Microsoft SQL Server Management Studio 18.1

    sqlserver下载链接:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 这个安装的是免费版的Express,当然也可 ...

  7. java中对List中的元素进行排序

    Collections对List集合中的数据进行排序 有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到 Java中提供的对集合进行操作的工具类Collections,其中的sort方法 N ...

  8. Html5知识精粹纪录

    1. HTML5文档的正文结构及新元素 正文结构: <header> <nav> <section> <aside> <footer> 深入 ...

  9. vue函数化组件 functional

    需要在组件中把functional 设置为true 一个函数化组件像这样: Vue.component('testcomponent', { functional: true, // 为了弥补缺少的实 ...

  10. Swagger 接口文档规范

    导语: 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过.前端经常抱怨后端给的接口文档与实际情况不一致.后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新.其实无论是前端调用后端,还是 ...