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

JSON 和 XML 的主要差异如下:

JSON XML
可读性
占用大小
扩展性
发布时间:2025-08-09
其他阅读

什么是 XML

XML,全称为 Extensible Markup Language,意为可扩展标记语言,是一种描述和组织数据的标记语言。它允许用户自定义标签,用来表示自定义的数据结构。

查看原文

C#本质论7.0

《C#本质论》是C#最权威、最值得尊重的参考书之一,作者为此付出了非凡的努力!Mark Michaelis的《Essential C#》系列多年来一直是畅销经典。

查看原文

Nginx代理AspNetCore跨域问题

在前后端分离开发中,经常出现跨域的问题,本文是记录使用Nginx来反向代理AspNetCore应用时的跨域问题

查看原文

浅析web前端中的MVC模式

MVC是常见的软件架构设计模式,它通过分离关注点改进代码的组织方式。区别于软件设计模式,只是为了解决问题总结出的抽象方法,一种架构模式种往往会用到多种设计模式。

查看原文

命令行打包.net项目

.net 日常开发中,我们接触最多的就是 Visual Studio ,它是微软为了 .net 平台专门打造的 IDE (集成开发环境),为整个 .net 平台开发带来了无与伦比的图形化体验,但是有时候,我们也会遇到需要通过命令行来生成 .net 项目的情况,本文会介绍几种命令行打包的姿势。

查看原文