JSON是什么
在现代化 Web 应用开发中,广泛使用一种名为 JSON 的数据交换格式。JSON 是一种轻量级数据交换格式,在不同系统之间提供标准且高效的数据交换。
JSON 是什么
JSON的全称为 JavaScript Object Notation,意为 JavaScript 对象表示法。本质是一种文本格式,用于存储和交互数据,JSON 有着较好的阅读性,更易于学习和问题排查。现阶段 JSON 已经是大部分系统交互的首选格式。
为什么使用 JSON
JSON 是基于文本轻量级数据交换格式,使用上较为灵活,易于程序解析,便于人类理解。同时,JSON 的语言独立性使得其不受编程语言和系统平台的限制,例如使用 Java 开发的应用可以将 JSON 数据发送到 C# 开发的应用中进行解析。
JSON 广泛应用于当今的前后端分离开发模式中,前端和后端通过 JSON 格式定下通信协议,前端接收用户的输入整理为 JSON 格式发送给后端,后端解析并处理数据后将结果也通过 JSON 格式发送回前端,实现更好的 Web 交互体验。
JSON 还广泛被用于数据存储,各大应用将系统配置,用户偏好等通过 JSON 格式存储到文件中,方便后续直接读取使用。还有基于 JSON 格式开发的各大非关系型数据库数据库(nosql),如 LiteDB,MongoDB 等这类文档行数据库,原生使用 JSON 格式进行存储,在交换数据是不需要额外处理。除此之外,越来越多的关系型数据库也支持将 JSON 作为原生数据格式存储和分析。
JSON 数据类型
JSON支持多种数据类型,包括:
对象:对象是JSON的核心,使用
{}
表示,对象的属性以键值对的形式表示,以逗号分隔,其中键必须是字符串并且不可重复。数组:数组使用
[]
表示,以逗号分隔。数字:不需要双引号,支持整数,小数/正数,负数。
布尔:不需要双引号,只有 true 和 false 。
字符串:字符串使用
""
表示,可存储任何 Unicode 字符。空:空值使用 null 表示,表示该位置不存储任何数据。
一个标准的 JSON 数据格式如下所示,需要格式化JSON数据,可以使用JSON格式化工具
{
"name":"Bob",
"age":45,
"bald":true,
"mark":null,
"email":["abc@a.com","abc@b.com"]
}
JSON 和 XML 对比
XML 全称为可扩展标记语言,也是一种文本数据交换格式。在 JSON 出现之前,XML被大量用于应用数据交互和配置文件存储。例如,JavaScript中最早出现的http请求类名称为 XMLHttpRequest
。就是基于当时 XML 为 Web 数据交换格式定下的(当然,XmlHttpRequest
不仅可以请求 XML 格式数据)。还有例如Apache,IIS等这些出现较早的应用程序,都是使用 XML 作为配置文件的。在 JSON 崛起之后,XML 被开发者迅速抛弃,现在只有在特殊情况和古老系统中才能见到 XML 的身影了。
JSON 和 XML 的主要差异如下:
JSON | XML | |
---|---|---|
可读性 | 优 | 差 |
占用大小 | 轻 | 重 |
扩展性 | 差 | 优 |