JSON是什么

发布时间:2025-08-09

在现代化 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 全称为可扩展标记语言,也是一种文本数据交换格式,更多 XML 部分可以查看文章:什么是XML。在 JSON 出现之前,XML被大量用于应用数据交互和配置文件存储。例如,JavaScript中最早出现的http请求类名称为 XMLHttpRequest。就是基于当时 XML 为 Web 数据交换格式定下的(当然,XmlHttpRequest 不仅可以请求 XML 格式数据)。还有例如Apache,IIS等这些出现较早的应用程序,都是使用 XML 作为配置文件的。在 JSON 崛起之后,XML 被开发者迅速抛弃,现在只有在特殊情况和古老系统中才能见到 XML 的身影了。

JSON 和 XML 的主要差异如下:

JSON XML
可读性
占用大小
扩展性
其他阅读

WPF托盘运行

本文介绍如何将WPF应用最小化到托盘,窗口关闭后进程仍然运行的方法。

查看原文

分享一个有趣的算法题

今天,在QQ群看到一个有趣的算法题,简单写了一下,本文做一个记录。

查看原文

电脑版微信支持抢红包和发朋友圈了

微信迎来史诗级加强——支持抢红包,微信迎来史诗级加强——支持发布朋友圈。

查看原文

什么是上帝对象

上帝对象(God Object)是面向对象编程(OOP)中一种特殊现象,在面向对象编程中,我们把逻辑和数据封装成一个个对象,每个对象各司其职,最终实现我们的业务,但是如果业务复杂的情况下,可能会出现一个对象封装太多的数据或者担任了太多的职责的情况,这样的对象我们称为上帝对象。

查看原文

Web前端中实现一个拖动效果

在原生客户端开发中,窗口拖动是一个比较常用的操作。今天把这个效果在网页客户端中实现以下,文章记录一下效果。

查看原文