JSON开发笔记(一)—— JSON基础

1. 何为 JSON

JSON( JavaScript Object Notation ),即 JavaScript 对象表示法。JSON 主要用于存储和交换文本信息,类似于XML。但是和 XML 相比,JSON 是更加轻量级的文本数据交换格式,具有更小、更快、更易解析的特点。JSON 具有自我描述性,更易理解。虽然 JSON 使用 JavaScript 语法来描述数据对象,但是,JSON 是独立于语言和平台的。JSON 解析器和 JSON 库支持许多不同的编程语言。

2. JSON 基本语法

JSON 语法是 JavaScript 对象表示法语法的子集。具体内容如下:

  • 数据在key/value对中存储
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数据

3. JSON值的类型

JSON的数据都在key/value对中存储,其中,这个,可选类型如下:

  • 数字(整数或浮点数),例如:{ "number":12.34 }

  • 字符串(在双引号中),例如:{ "name":"qiumengchen" }

  • 逻辑值(true 或 false),例如:{ "isOpen":true }

  • 数组(在中括号中),例如:{ "array":[1.2 , "3" , true , [4,5] , {"test":"ok"} , null] }

  • 对象(在大括号中),例如:{ "person":{"name":"qiumengchen","isHandsome":true} }

  • null,例如:{ "blog":null }

总体来说,JSON的完整表现形式有两种:

  • JSON对象:以大括号({})为标志,对象可以包含多个key/value对,注意:对象中的每一项都必须是key/value对,不能是其他形式。但是,其中的key必须是字符串,其中的value可以是合法的JSON数据类型包括:数字、字符串、逻辑值、数组、对象、null等。例如:
{ "name":"qiumengchen" , "isHandsome":true , "blog":{"url":"qiumengchen.top","name":"myBlog"} }
  • JSON数组:以中括号([])为标志,数组可以包含多个value,value可以是合法的JSON数据类型包括:数字、字符串、逻辑值、数组、对象、null等。但是,一般来说,我们会保持数据中每个项的形式和意义的一致性,方便理解和运用。例如:
[ 99 , "qiumengchen" , true , [1,2,3] , {"name":"qiumengchen"} , null ]

4. 与XML比较

与XML相同之处

  • JSON 是纯文本
  • JSON 具有"自我描述性"(人类可读)
  • JSON 具有层级结构(值中存在值)
  • JSON 可通过 JavaScript 进行解析
  • JSON 数据可使用 AJAX 进行传输

与XML不同之处

  • 没有结束标签
  • 更短
  • 读写的速度更快
  • 能够使用内建的 JavaScript eval() 方法进行解析
  • 使用数组
  • 不使用保留字

5. 辅助工具

  • JSON在线解析工具(功能包括:JSON格式化、压缩、验证格式、JSON转XML、CSV、YAML),地址如下:https://c.runoob.com/front-end/53
  • Chrome浏览器插件:JSON-handle
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 短版: 图片加上文字(0.5元) 专属动漫角色(一个0.3元) 长版: 图片加上文字(0.5元) 专属动漫角色(一...
    蝶恋浮生阅读 440评论 1 1
  • 风卷狂云至,草木尽残催。 漏伞何须补,孤僧独自归。 归来日迟迟,眠思意垂垂。 梦醒黄粱熟,落日有余晖。
    陸醜阅读 226评论 0 3
  • 问题引入 当您看到我文章的时候,后来查到我的前端页面和后端页面的编码都是GBK,而jQuery ajax提交时默认...
    mizonn阅读 1,340评论 0 0