这篇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的一些细节的更多相关文章

  1. php课程---Json格式规范需要注意的小细节

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...

  2. 第三方库 jsoncpp 读写json

    一.摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传 ...

  3. C++中使用Json的方法

    使用 C++ 处理 JSON 数据交换格式 一.摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON官 ...

  4. 常见Serialize技术探秘(ObjectXXStream、XML、JSON、JDBC byte编码、Protobuf)

    目前业界有各种各样的网络输出传输时的序列化和反序列化方案,它们在技术上的实现的初衷和背景有较大的区别,因此在设计的架构也会有很大的区别,最终在落地后的:解析速度.对系统的影响.传输数据的大小.可维护性 ...

  5. 使用 C++ 处理 JSON 数据交换格式

    一.摘要 JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传 ...

  6. Tomcat 优化

    1.apr 许多朋友可能在启动tomcat的时候都会看到类似这样的信息: 引用 org.apache.catalina.core.AprLifecycleListener init 信息: The A ...

  7. C#私房菜[二][提供编程效率的技巧]

    AaronYang的C#私房菜[二][提供编程效率的技巧] 前言 我的文章简单易懂,能学到东西.因为复杂的东西,讲起来,好累.阅读者只是膜拜,学不到东西,就是没用的东西,好多文章都是看不下去.我写不出 ...

  8. vscode用法

    工欲善其事,必先利其器.vscode是一个值得花费时间去掌握精通的编辑器. 好文档不必远求 打开vscode,把菜单看上三遍,仔细思考每个菜单项的作用,思考为啥要这样归类每个菜单项. 配置是系统的核心 ...

  9. Redis高级客户端Lettuce详解

    前提 Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之 ...

随机推荐

  1. Linux上从Java程序中调用C函数

    原则上来说,"100%纯Java"的解决方法是最好的,但有些情况下必须使用本地方法.特别是在以下三种情况: 需要访问Java平台无法访问的系统特性和设备: 通过基准测试,发现Jav ...

  2. python 内置函数!

    chr 数字转换字母 r = chr(65)print(r) ord字母转换数字n = ord("A")print(n) random 函数 import random li = ...

  3. sqllite 默认当前日期写法

    create table IF NOT EXISTS realpoint(_id integer primary key autoincrement,rountId varchar(50),lng d ...

  4. Android的学习第六章(布局一LinearLayout)

    今天我们来说一下Android五大布局-LinearLayout布局(线性布局) 含义:线性布局,顾名思义,指的是整个Android布局中的控件摆放方式是以线性的方式摆放的, 主要作用:主要对整个界面 ...

  5. ICTCLAS20160405分词系统调试过程

    一.前期准备: 1.下载最新版本的资源包:CTCLAS20160405171043_ICTCLAS2016分词系统下载包 2.下载最新版本的licence:https://github.com/NLP ...

  6. 立即执行函数: (function(){...})() 与 (function(){...}()) 有什么区别?

    没有区别. function foo() {...} // 这是定义,Declaration:定义只是让解释器知道其存在,但是不会运行. foo(); // 这是语句,Statement:解释器遇到语 ...

  7. MySQL常用语句

    第1章 SQL结构化语言 1.什么是SQL? SQL,英文全称Structured Query Language,中文意思是结构化查询语言,它是一种关系型数据库中的数据进行定义和操作的语言方法,是大多 ...

  8. WebForm简单控件,复合控件

    简单控件: 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 Enlabled:是否可用 Visible:是否可见 __________________ ...

  9. windows下的c语言和linux 下的c语言以及C标准库和系统API

    1.引出我们的问题? 标准c库都是一样的!大家想必都在windows下做过文件编程,在linux下也是一样的函数名,参数都一样.当时就有了疑问,因为我们非常清楚 其本质是不可能一样的,源于这是俩个操作 ...

  10. python os模块(2)

    os模块主要用于:目录.文件(删除.判断.分割文件名和后缀) 目录 (1)获取当前目录(2)修改目录(3)生成目录(4)删除目录(5)查看目录下的内容(6)重命名目录(7)修改时间属性(8)链接目录( ...