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
可读性
占用大小
扩展性
发布时间:2025-08-09
其他阅读

管道技术——中间件的灵魂

在现代Web开发中,中间件技术使用越来越广泛,本文带大家了解中间件的基础,同时也是中间件的灵魂所在,管道技术。在C#中,依赖于委托,我们可以很容易就实现一个中间件管道。所以在阅读本文前,请确保你已经学会了什么是委托,包括但不限于Delegate,Action,Func。除此之外,本文还会使用到反射相关知识,请确保你已经学会了什么是反射。

查看原文

什么是上帝对象

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

查看原文

C#完成一个应用内的消息中心

本文会讲解如何使用 C# 完成一个应用内部的消息中心(事件总线),事件驱动最大的好处就是可以很大程度的解耦合,松散结构。

查看原文

网页小技巧

分享一些网页开发中实用的UI小技巧,快速完成页面搭建工作。

查看原文

WPF中切换主题功能

在现代 Windows 系统中,系统提供了亮色主题和暗色主题,Windows 自带的应用程序都已经适配该功能。本文介绍在使用 WPF 构建 Windows 窗口应用时怎么实现主题切换。

查看原文