---
title: "JSON 注释和 JSON 行的工具"
date: "2021-09-01"
categories: 
  - "json"
  - "tools"
tags: 
  - "json"
  - "json-comments"
  - "json-editor"
  - "json-lines"
  - "json-mapping"
  - "mapforce"
  - "xmlspy"
description: 了解如何在 Altova XMLSpy 和 MapForce 中使用 JSON 注释和 JSON 行格式，包括如何有效地编辑、验证和转换这些格式。
---
Status: #blog

Tags:  #json #json-comments #json-editor #json-lines #json-mapping #mapforce #xmlspy

Categories: [json](/blog/zh/category/json.md) | [development](/blog/zh/category/development.md)
# JSON 注释和 JSON 行的工具

Altova XMLSpy 和 MapForce [JSON 工具](https://www.altova.com/zh/json-tools) 我们长期以来一直支持JSON和JSON5，用于编辑、数据映射和转换。 随着新的JSON格式应运而生，以适应实际应用，这些工具对这些格式的支持也在不断扩展。

本文将介绍两种较新的格式——JSON 注释和 JSON 行——的优势，并展示如何在 XMLSpy 和 MapForce 中使用它们。

![JSON 注释和 JSON 行的工具](/blog/images/json-comments-lines.jpg)

<!--more-->

## 如何添加 JSON 注释

虽然JSON最初被设计为一个纯粹的数据交换格式，但随着时间的推移，其灵活性和易于实现的特点使其被广泛应用于各种不同的场景，例如配置文件。然而，在这些应用中，JSON的一个缺点是它不支持注释，这使得在代码中提供必要的文档和说明变得非常困难。  

JSON5是JSON的一个超集，旨在解决JSON的一些局限性，并且确实支持注释。然而，基于JSON早期版本的应用程序仍然需要一种注释机制。 

为此，我们引入了 JSON Comments (JSONC) 格式，以便能够处理包含注释的 JSON 文件。使用 JSONC，您可以在 JSON 代码中添加块注释和单行注释，用于描述代码的功能，而不会导致处理错误。

除了对 JSON 和 JSON5 的支持外，XMLSpy 的 [JSON 编辑器](https://www.altova.com/zh/xmlspy-xml-editor/json_editor) 还提供对 JSON 注释的全面验证和编辑功能，这些注释通过 .jsonc 文件扩展名进行识别。如上图所示，单行注释以 // 开头，而多行或块注释则以 /* 和 */  delimitted。

![如何在 JSON 中添加注释](/blog/images/json-comments.png)

## 什么是 JSON Lines (JSONL)？

也称为以换行符分隔的 JSON，[JSON Lines](http://jsonlines.org/) (JSONL) 是一种存储结构化数据的格式，其中每个记录都位于单独的一行。因此，可以逐个处理记录，这使得该格式非常适合存储或处理需要使用换行符分隔的数据，例如日志文件。以下是一个简单的 JSON Lines (.jsonl) 文档在 XMLSpy 中编辑的示例：

![JSON 行编辑器：编辑 JSON 数据，每行一个](/blog/images/json-lines-1.png)

MapForce 也支持 JSON Lines 格式，用于 [JSON 数据的映射和转换](https://www.altova.com/zh/mapforce/json-mapping)。 常见的需求是将 JSON Lines 转换为 CSV 格式，或者将 JSON Lines 转换为 JSON 格式。 在 MapForce 中，这些操作都非常简单。 您可以定义一个图形化的数据映射项目，将 JSON Lines 数据映射到或从软件支持的任何其他数据格式：JSON、XML、数据库、CSV、Excel、EDI 等。

要将数据转换为 JSON Lines 格式，只需在组件设置中勾选“JSON Lines”选项。当为 JSON 目标组件选择“JSON Lines”格式时，在映射执行过程中，对于源文件中每个对象，输出文件中都会创建一个新的 JSON 行。 

![使用 MapForce 将 JSON Lines 格式转换为其他格式](/blog/images/convert-json-lines.png)

同样，如果您的数据集成项目从一个 JSON Lines 格式的源文件中读取数据，那么执行映射操作将会创建与源文件中 JSON 行数相同数量的目标元素。

### JSON Lines 案例研究

以下是对[将JSON Lines](https://www.altova.com/blog/data-mapping-json-lines/)数据进行转换的更详细的说明，该过程涉及从数据库表中提取记录，并将这些记录映射到JSON Lines文件以进行输出。

### JSON 工具 - 免费试用

Altova JSON 工具对带有注释的 JSON 格式以及 JSON Lines 格式的支持，帮助客户利用这些新格式，从而更好地适应实际的 JSON 应用场景。您可以尝试使用 XMLSpy 和 MapForce，并... (此处省略了后续内容，因为原文不完整) [免费试用](https://www.altova.com/zh/download) 它是 Altova MissionKit 软件套件中用于 JSON 数据和数据集成的一系列工具。
