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的驱动包在某个版本之 ...
随机推荐
- 实时发布到tomcat
当我们在运用eclipse进行web项目的文件编写的时候,希望编写的东西可以实时的发布在tomcat的webapps文件夹之中,那么我们应该怎么做呢!下面就是操作方法: 1. 首先你的eclips ...
- java Servlet小结
1:什么是Servlet? ① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 2:Servlet 生命周期 Ser ...
- ipad pro 文章
这篇文章是通过iPad Pro发送的.体验一下键盘输入,以及safari下的输入.这个键盘的输入手感好一般,按键行程较短.
- flume+sparkStreaming实例 实时监控文件demo
1,flume所在的节点不和spark同一个集群 v50和 10-15节点 flume在v50里面 flume-agent.conf spark是开的work节点,就是单点计算节点,不涉及到mast ...
- sendEmail报错:at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm
sendEmail发送邮件是出现以下报错: ******************************************************************* Using the ...
- 关于工程结合git的配置
我们通常把代码放到git sever中,(scm manager)中,上传,下载代码, 可是通常工程的代码改动会有图标提示,改动过的,或者新增的,那么需要在eclipse的工程中做一下简单配置 1,工 ...
- CentOS离线安装GCC编译环境
gcc编译环境rpm下载 安装相关的rpm包,具体版本可能随时间变化而变化,可以去以下地址下载: 重庆大学镜像:http://b.mirrors.lanunion.org/CentOS/中国科学技术大 ...
- 长时间停留在calculating requirements and dependencies 解决方案
如果Eclipse花费了很长的时间calculating requirements and dependencies(计算需求和依赖性 ) 这个问题通常就是在点击安装之后显示“Calculating ...
- UVALive 3902 网络
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- R12供应商地点层付款方法SQL
--R12供应商地点层付款方法SQL:SELECT ipmv.payment_method_name , ipmv.payment_method_code , 'N' primary_ ...