当前位置: 首页 > news >正文

dedecms 网站名称高端建站费用

dedecms 网站名称,高端建站费用,预付网站建设服务费如何入账,网站子站建设第 23 章 JSON 23.1 语法 JSON 语法支持表示 3 种类型的值。 ❑ 简单值#xff1a;字符串、数值、布尔值和 null 可以在 JSON 中出现#xff0c;就像在 JavaScript 中一样。特殊值 undefined 不可以。 ❑ 对象#xff1a;第一种复杂数据类型#xff0c;对象表示有序键/值…第 23 章 JSON 23.1 语法 JSON 语法支持表示 3 种类型的值。 ❑ 简单值字符串、数值、布尔值和 null 可以在 JSON 中出现就像在 JavaScript 中一样。特殊值 undefined 不可以。 ❑ 对象第一种复杂数据类型对象表示有序键/值对。每个值可以是简单值也可以是复杂类型。 ❑ 数组第二种复杂数据类型数组表示可以通过数值索引访问的值的有序列表。数组的值可以是任意类型包括简单值、对象甚至其他数组。 23.1.1 简单值 最简单的 JSON 可以是一个数值也可以是一个字符串JavaScript 字符串与 JSON 字符串的主要区别是JSON 字符串必须使用双引号单引号会导致语法错误​。布尔值和 null 本身也是有效的 JSON 值。 23.1.2 对象 JSON 中的对象必须使用双引号把属性名包围起来。 与 JavaScript 对象字面量相比JSON 主要有两处不同。首先没有变量声明JSON 中没有变量​。其次最后没有分号不需要因为不是 JavaScript 语句​。同样用引号将属性名包围起来才是有效的 JSON。属性的值可以是简单值或复杂数据类型值后者可以在对象中再嵌入对象。 23.1.3 数组 23.2 解析与序列化 23.2.1 JSON 对象 JSON 对象有两个方法stringify()和 parse()。在简单的情况下这两个方法分别可以将 JavaScript 序列化为 JSON 字符串以及将 JSON 解析为原生 JavaScript 值。 在序列化 JavaScript 对象时所有函数和原型成员都会有意地在结果中省略。此外值为 undefined 的任何属性也会被跳过。最终得到的就是所有实例属性均为有效 JSON 数据类型的表示。 23.2.2 序列化选项 JSON.stringify()方法除了要序列化的对象还可以接收两个参数。这两个参数可以用于指定其他序列化 JavaScript 对象的方式。第一个参数是过滤器可以是数组或函数第二个参数是用于缩进结果 JSON 字符串的选项。 1过滤结果 如果第二个参数是一个数组那么 JSON.stringify()返回的结果只会包含该数组中列出的对象属性。 let book {title: Professional JavaScript,authors: [Nicholas C. Zakas, Matt Frisbie],edition: 4,year: 2017 } let jsonText JSON.stringify(book, [title, edition]) // {title:Professional JavaScript,edition:4}如果第二个参数是一个函数则行为又有不同。提供的函数接收两个参数属性名key和属性值value​。 let book {title: Professional JavaScript,authors: [Nicholas C. Zakas, Matt Frisbie],edition: 4,year: 2017 } let jsonText JSON.stringify(book, (key, value) {switch (key) {case authors:return value.join(,)case year:return 5000case edition:return undefineddefault:return value} }) // {title:Professional JavaScript,authors:Nicholas C. Zakas,Matt Frisbie,year:5000}2字符串缩进 JSON.stringify()方法的第三个参数控制缩进和空格。在这个参数是数值时表示每一级缩进的空格数。 let book {title: Professional JavaScript,authors: [Nicholas C. Zakas, Matt Frisbie],edition: 4,year: 2017 } let jsonText JSON.stringify(book, null, 4) // {\n // title: Professional JavaScript,\n // authors: [\n // Nicholas C. Zakas,\n // Matt Frisbie\n // ],\n // edition: 4,\n // year: 2017\n // }注意除了缩进JSON.stringify()方法还为方便阅读插入了换行符。这个行为对于所有有效的缩进参数都会发生。​只缩进不换行也没什么用。​最大缩进值为 10大于 10 的值会自动设置为 10。 如果缩进参数是一个字符串而非数值那么 JSON 字符串中就会使用这个字符串而不是空格来缩进。使用字符串时同样有 10 个字符的长度限制。如果字符串长度超过 10则会在第 10 个字符处截断。 3toJSON()方法 let book {title: Professional JavaScript,authors: [Nicholas C. Zakas, Matt Frisbie],edition: 4,year: 2017,toJSON: function () {return this.title} } let jsonText JSON.stringify(book) // Professional JavaScripttoJSON()方法可以与过滤函数一起使用因此理解不同序列化流程的顺序非常重要。在把对象传给 JSON.stringify()时会执行如下步骤。 1如果可以获取实际的值则调用 toJSON()方法获取实际的值否则使用默认的序列化。 2如果提供了第二个参数则应用过滤。传入过滤函数的值就是第1步返回的值。 3第2步返回的每个值都会相应地进行序列化。 4如果提供了第三个参数则相应地进行缩进。 23.2.3 解析选项 JSON.parse()方法也可以接收一个额外的参数这个函数会针对每个键/值对都调用一次。为区别于传给 JSON.stringify()的起过滤作用的替代函数replacer​这个函数被称为还原函数reviver​。实际上它们的格式完全一样即还原函数也接收两个参数属性名key和属性值value​另外也需要返回值。 如果还原函数返回 undefined则结果中就会删除相应的键。如果返回了其他任何值则该值就会成为相应键的值插入到结果中。 let book {title: Professional JavaScript,authors: [Nicholas C. Zakas, Matt Frisbie],edition: 4,year: 2017,releaseDate: new Date(2017, 11, 1) } let jsonText JSON.stringify(book) let bookCopy JSON.parse(jsonText, (key, value) (key releaseDate ? new Date(value) : value)) console.log(bookCopy.releaseDate.getFullYear()) // 2017
http://www.pierceye.com/news/499214/

相关文章:

  • 潍坊中企动力做的网站怎么样哪个网站做黄金交易最好
  • 徐州金网网站建设西安网站建设制作公司
  • 中小企业网站建设好么做国外网站衣服码数要怎么写
  • 新浪做网站wordpress divi 主题
  • 微网站建设资讯网页游戏开发教程
  • 网站建设评估百度公司地址
  • python 做网站开发吗搜房网网站跳出率
  • 深圳企业模板网站建设做高性能的网站 哪门语言好
  • 网站后台不能上传微信公众平台网页版登陆
  • 广州网站营销seo费用成都建设网站那家好
  • 网站建设规划书结构简单wordpress
  • 域名注册网站哪个好山东淄博网络科技有限公司
  • 固始县网站建设培训怎么制作网站首页
  • 产品经理做网站三河市最新消息
  • 做新闻类网站需要什么资质如何外贸seo网站建设
  • 注册网站流程和费用百度seo关键词排名s
  • 做推广网站的去哪能买到有效资料苏州建设网站找网络公司
  • vs做网站如何输出怎么做flash网站
  • 网站做政务广告传媒公司简介ppt
  • 番茄网络营销策划方案seo网站培训
  • 自己做一网站高唐网页定制
  • 快速网站seo效果什么是网络营销与概念
  • 个体网站建设企业网站做的好的有什么公司
  • 建设银行网站短信错误6次wordpress个人淘客
  • 让网站快速收录最新集团公司网站案例
  • 网站开发公司长春高校 网站建设实施方案
  • 我做的网站打开慢怎么处理防控措施有这些优化
  • 网站的登录界面是怎么做的网站开发 职位
  • 西安英文网站制作企业年报申报入口官网
  • 做一网站多少钱企业官方网站建设教程