JSON的一些细节
这篇JSON的随笔只是为了简单地复习一下学习到的JSON的内容。都是一些很基础的东西。如果你不小心看到了这篇文,那就一起复习吧。(。・∀・)ノ
JSON不支持JavaScript中的undefined类型。
JSON无序。
JSON字符串必须使用双引号(不管是属性名还是属性值中的字符串,一律都要双引号!!)
与JavaScript相比,JSON:
1. 没有声明变量(JSON没有变量的概念)。
2. 没有末尾的分号。
嵌入对象用{}
数组用[]
使用JSON的优势:最简单的,需要敲打的代码少,不需要调用其他的方法。
《JavaScript高级程序设计 第三版》中使用的例子是:
在把JSON解析为JavaScript对象后 => book[2].title.
如果是使用DOM => document.getElementsByTagName("book")[2].getAttribute("title")
JSON对象:
1. stringify(): JavaScript => JSON
参数:1. 对象名。
2. 过滤器。 可以是一个数组,结果中只包含数组中列出的属性。
如果是一个函数,则传入的函数接收两个参数:属性名和属性值。这个函数主要是对要序列化的对象进行处理,处理方式就是根据属性名来决定该函数返回的属性值。
3. 选项。是否保留缩进和空白符。 只要传入有效的控制缩进的参数值(最大为10, 超过10自动转化为10),则结果字符串中就会包含缩进和换行符,如果不是数值而是 字符串, 则字符串将在JSON中充当缩进字符。
2. parse(): JSON => JavaScript
参数:1. 对象名。
2. 一个函数,将在每个键值对上调用,这个函数称为还原函数(reviver),依旧是传入两个参数:属性名和属性值。用法与过滤器函数相同。
3. toJSON()方法。
stringify()的补充,优先考虑toJSON方法,其次是考虑过滤器函数,再者是考虑选项中的内容。
end!
JSON的一些细节的更多相关文章
- php课程---Json格式规范需要注意的小细节
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...
- 第三方库 jsoncpp 读写json
一.摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传 ...
- C++中使用Json的方法
使用 C++ 处理 JSON 数据交换格式 一.摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON官 ...
- 常见Serialize技术探秘(ObjectXXStream、XML、JSON、JDBC byte编码、Protobuf)
目前业界有各种各样的网络输出传输时的序列化和反序列化方案,它们在技术上的实现的初衷和背景有较大的区别,因此在设计的架构也会有很大的区别,最终在落地后的:解析速度.对系统的影响.传输数据的大小.可维护性 ...
- 使用 C++ 处理 JSON 数据交换格式
一.摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传 ...
- Tomcat 优化
1.apr 许多朋友可能在启动tomcat的时候都会看到类似这样的信息: 引用 org.apache.catalina.core.AprLifecycleListener init 信息: The A ...
- C#私房菜[二][提供编程效率的技巧]
AaronYang的C#私房菜[二][提供编程效率的技巧] 前言 我的文章简单易懂,能学到东西.因为复杂的东西,讲起来,好累.阅读者只是膜拜,学不到东西,就是没用的东西,好多文章都是看不下去.我写不出 ...
- vscode用法
工欲善其事,必先利其器.vscode是一个值得花费时间去掌握精通的编辑器. 好文档不必远求 打开vscode,把菜单看上三遍,仔细思考每个菜单项的作用,思考为啥要这样归类每个菜单项. 配置是系统的核心 ...
- Redis高级客户端Lettuce详解
前提 Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之 ...
随机推荐
- TOJ 1191. The Worm Turns
191. The Worm Turns Time Limit: 1.0 Seconds Memory Limit: 65536K Total Runs: 5465 Accepted Run ...
- 【原创】在pc端集成地图功能(一)
在pc端做人员调度功能,用到地图.看了一点高德地图API,由于手机端用的是百度地图,现在需要改用百度地图.下面把看的高德地图一点点成果记录下来: 1.在高德地图开放平台(http://lbs.amap ...
- 用eclipse打开已经编译的工程
第一种方法: eciplise------>File------>Import------>General------>Existing Project into Worksp ...
- 2017年1月1日 星期日 --出埃及记 Exodus 21:27
2017年1月1日 星期日 --出埃及记 Exodus 21:27 And if he knocks out the tooth of a manservant or maidservant, he ...
- angular源码阅读3:真的,依赖注入的原理
前面已经提到了: 如何注册一个module. 如何获取一个module. injector与module以及provider的关系. 那么已经剩下最后一部分了,就是关于依赖是如何被注入的. 且看下面这 ...
- android 命令行
android create avd --target --name cupcake 建立模拟器: $ android create avd --target 2 --name c ...
- 移动端js写法
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 浪潮 NF5240M3 ,NP5540M3 服务器安装2008 R2
1,服务器系统的安装会出现错误的地方一般都是在Raid 卡驱动 略过Raid 卡配置, 具体 http://jingyan.baidu.com/article/ca41422fddfd201eae99 ...
- Using Call_Form in Oracle D2k
Using Call_Form in Oracle D2k CALL_FORM examples/* Example 1:** Call a form in query-only mode.*/BEG ...
- JS作用域及call
<script type="text/javascript"> function log(val){ console.log(val); } function base ...