敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

JSON

了解 JSON 如何通过无缝数据交换、模型配置和实时应用简化 AI 和 ML 工作流程。

JSON,即 JavaScript 对象表示法,是一种轻量级的、基于文本的数据交换格式,易于人类阅读和编写,也易于机器解析和生成。它最初源自 JavaScript,现已成为一种与语言无关的标准,几乎所有现代编程语言都支持它。它的简单性和灵活性使其成为数据存储、配置文件以及服务器和 Web 应用程序(包括由 人工智能 (AI)机器学习 (ML) 驱动的应用程序)之间通信的基石。

JSON 的工作原理

JSON 以两种主要结构表示数据:

  • 对象:键值对的集合,用花括号括起来 {}。键必须是字符串,值可以是字符串、数字、布尔值、数组或其他对象。 这种结构非常适合表示具有多个属性的实体,例如模型的配置设置。
  • 数组:值的有序列表,用方括号括起来 []。数组中的值可以是任何有效的 JSON 数据类型。 这对于存储项目列表非常有用,例如多个 边界框 来自目标检测模型的预测。

这种由 ECMA-404 标准 定义的简单语法使 JSON 文件既紧凑又易于阅读,从而方便了调试和手动检查。

在 AI 和机器学习中的应用

在AI和ML的背景下,JSON在整个项目生命周期中都是不可或缺的,从数据预处理模型部署。它与PyTorchTensorFlow等框架的通用兼容性确保了无缝的数据流。

以下是两个常见的实际应用:

  1. 数据集标注:许多流行的计算机视觉 数据集,例如 COCO 数据集,使用 JSON 文件来存储标注。对于目标检测任务,JSON 文件可以定义每个图像的属性,包括其文件名、尺寸以及对象数组。数组中的每个对象都将包含一个类别标签(例如,“汽车”、“人”)、一个置信度分数及其边界框的精确坐标。
  2. API通信和模型输出(API Communication and Model Output): 当像Ultralytics YOLO11这样的训练模型作为服务部署时,它通常通过REST API进行通信。输入图像被发送到API端点,模型以JSON格式返回其预测。这种结构化的输出很容易被其他软件使用,从而可以顺利集成到更大的应用程序中,从机器人技术智能监控系统。像Ultralytics HUB这样的平台利用这一点来有效地管理模型及其输出。

JSON 与其他数据格式的比较

将JSON与其他常见数据序列化格式进行比较会很有帮助:

  • YAML (YAML Ain't Markup Language): YAML 优先考虑人类可读性,通常用于配置文件,例如用于定义模型架构或超参数调整的配置文件。虽然 JSON 也可以用于配置,但 YAML 基于缩进的语法通常被认为对于复杂的嵌套结构更简洁。由于其更简单的解析规则以及对不同编程语言的广泛支持,JSON 通常更受青睐用于通过 API 进行数据交换。
  • XML(可扩展标记语言): XML 是另一种人和机器都可读的格式。但是,由于 XML 使用开始和结束标记,因此它比 JSON 更冗长,这增加了文件大小和解析复杂性。虽然仍在使用 SOAP 的某些企业系统和较旧的 Web 服务中,但由于其简单性和效率,JSON 已在很大程度上取代了现代 API 和 Web 开发 中的 XML。

总而言之,JSON 的轻量级特性、人类可读性和易于解析的特点使其成为在现代 AI 系统中构建和交换数据的一种非常有效且广泛采用的格式。有关其基本结构和用法的更多信息,请访问官方 JSON.org 网站和 Mozilla Developer Network 等资源,这些资源提供了出色的介绍。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入
链接已复制到剪贴板