---
title: "您唯一需要的 JSON 开发工具"
date: "2018-05-29"
categories: 
  - "development"
  - "json"
  - "tools"
tags: 
  - "json"
  - "json-schema"
  - "mapforce"
  - "raptorxml"
  - "xmlspy"
description: XMLSpy 通过其智能编辑、XSD 转换为 JSON Schema 以及自动生成文档等功能，使 JSON 开发变得轻松。
---
Status: #blog

Tags:  #json #json-schema #mapforce #raptorxml #xmlspy

Categories: [development](/blog/zh/category/development.md) | [json](/blog/zh/category/json.md)
# 您唯一需要的 JSON 开发工具

虽然在处理JSON开发任务时，开发者可能不会首先想到XMLSpy，但XMLSpy提供了全面的JSON、JSON Schema以及相关技术的支持。

在过去几次产品发布中，我们为产品添加了智能功能，用于编辑和转换 JSON 和 JSON5 数据。我们已经完成了闭环，实现了 XML 模式和 JSON 模式之间的单键转换，以及示例实例的生成和 JSON 模式文档的生成。此外，最近我们还增加了对使用 XSLT、XPath 和 XQuery 处理 JSON 数据的支持。

接下来，我们将通过一些常见的例子来展示这个功能，并了解这些节省时间的工具如何使 XMLSpy 成为您唯一需要的 JSON 开发工具。

![开发者正在使用 JSON 工具](/blog/images/JSON_blog_1.jpg)

<!--more-->

## JSON 编辑器 和 JSON 模式编辑器

XMLSpy 中的 [JSON 编辑器](https://www.altova.com/zh/xmlspy-xml-editor/json_editor) 提供了智能文本视图和图形网格视图，用于编辑 JSON 和 JSON5 文档。它还提供了智能输入辅助功能和菜单，帮助您做出正确的选择。

[JSON Schema 编辑器](https://www.altova.com/zh/xmlspy-xml-editor/json_schema_editor) 包含以下图形化 Schema 编辑器。由于 JSON Schema 本身就是一套嵌套容器的结构，因此非常适合以图形化方式呈现。通过可视化方式来构建 Schema，可以实现快速开发和结构的可视化。

![XMLSpy 中的 JSON 模式编辑器 ](/blog/images/json-schema-view.png)

与其他 JSON 编辑工具不同，XMLSpy 同时支持 JSON 和 XML（并且可以在两者之间进行转换），这为您提供了一种便捷的方式，可以在与开发 XML、AJAX 和 Web 服务应用程序的相同环境中处理 JSON，从而兼顾了两种技术的优势。

## 将 XSD 转换为 JSON Schema，或将 JSON Schema 转换为 XSD

越来越多的开发者开始使用 JSON Schema，以将数据验证的优势应用于 JSON 数据交换。然而，这需要投入大量的时间和精力来开发 schema，这与 JSON 承诺的简洁性形成了一定的矛盾。

幸运的是，我们没有必要重新发明轮子。 考虑到已经存在的大量 XML 模式，我们具备以下能力： [将 XSD 转换为 JSON Schema](https://www.altova.com/zh/xmlspy/json-schema-editor.html) 这可以帮助开发者快速、轻松地完成工作，让他们专注于实现功能，而不是从头开始构建数据结构。XMLSpy 提供了“一键式”功能来支持这一点。操作起来同样简单 [将 JSON Schema 转换为 XSD](https://www.altova.com/zh/xmlspy/json-schema-editor.html), 为了获得最大的灵活性，您甚至可以使用 XMLSpy 作为 JSON 到 XSD 的转换工具，即使您没有现有的 JSON 模式。

让我们来看一个比较常见的交易场景——采购订单。当然，针对这个应用场景，已经存在许多现成的XML Schema，其中一个就包含在XMLSpy的“Examples”目录下。以下是该Schema在图形化XML Schema编辑器中的显示：

![XML 模式](/blog/images/xml-schema.png)

使用 _将 XML 模式转换为 JSON 模式，或将 JSON 模式转换为 XML 模式_ 在“转换”菜单中的选项中，我可以指定转换的具体设置

![将XSD转换为JSON Schema的选项](/blog/images/xsd-to-json-schema-options.png)

...然后点击“确定”按钮，即可[生成 JSON Schema](https://www.altova.com/zh/xmlspy/json-schema-editor.html)，该 Schema 将在图形化的 JSON Schema 编辑器中显示，如下所示：

![JSON 模式 (JSON Schema)](/blog/images/json-schema.png)

以下是在文本视图中，对应JSON Schema代码的片段：

![JSON 模式代码](/blog/images/json-schema-text.png)

从这里，您可以继续以图形或文本视图的方式编辑模式，或者继续生成一个示例 JSON 数据。

这项将 XSD 转换为 JSON Schema 的功能，进一步扩展了我们已有的将 XML 和 JSON 实例文件相互转换的支持。

## 生成示例 JSON 数据

一旦您获得了 JSON Schema，生成一个基于该 Schema 的示例数据非常有用，这可以帮助您更快地开始进行任何额外的编辑工作。

在 XMLSpy 软件中，"生成示例 JSON 文件" 对话框允许您指定是否生成非必填的对象属性、数组的长度以及递归定义的重复次数。您还可以指定是否自动将当前 JSON 模式应用于生成的 JSON 示例文件。点击“确定”后，您将立即获得一个有效的 JSON 实例，可作为您的起点。

![生成示例 JSON 数据](/blog/images/generate-sample-json.png)

以下是根据上述 JSON Schema 生成的示例片段：

![示例 JSON 文件](/blog/images/sample-json-instance.png)

## 生成 JSON Schema 文档

文档是模式（schema）开发的重要组成部分，它能够促进与其他开发人员的有效沟通，并在模式不断演进的过程中提供清晰的参考。XMLSpy 提供了自动生成 JSON 模式文档的功能，这可以节省大量时间。它提供了众多选项，让您可以自定义文档，并将其输出为打印版和/或网页格式。

以下是针对上述 JSON Schema 生成的 HTML 文档的片段：

![JSON 模式文档](/blog/images/json-schema-documentation.png)

## 使用 XSLT 和 XQuery 处理 JSON 数据

XMLSpy 提供了大量支持，涵盖 XSLT、XPath 和 XQuery 等技术。 幸运的是，这些标准化语言的最新版本也提供了一种优雅的方式来查询和转换 JSON 数据，可以通过针对 JSON 映射、数组和对象来实现。

 XMLSpy 的智能编辑器以及交互式 XPath/XQuery 构建器和评估器窗口，具有以下功能：

- 在 XPath/XQuery 窗口中，可以使用 XPath 3.1 或 XQuery 3.1 查询 JSON 文档
- 使用 XSLT 3.0 或 XQuery 3.1 文件来转换 JSON 文档

了解其工作原理：

![](https://www.youtube.com/watch?v=Hd5W6IpDA8Y)

## 全面的 JSON 开发

上述功能完善了 [XMLSpy](https://www.altova.com/zh/xmlspy.html) 中 JSON 和 JSON Schema 的功能，现在该软件还包括：

- 支持 JSON 和 JSON5 格式
- 智能的 [JSON 编辑器](https://www.altova.com/zh/xmlspy/json-editor.html) 支持文本视图和网格视图
- 图形化的 [JSON 模式编辑器](https://www.altova.com/zh/xmlspy/json-schema-editor.html)
- 基于 JSON Schema 的验证
- [XML 与 JSON 之间的转换（单个或多个文件）](https://www.altova.com/zh/xmlspy-xml-editor/xml-to-json)
- XSD 与 JSON Schema 转换器
- JSON 示例实例生成
- JSON Schema 文档
- 使用XSLT转换JSON数据
- 使用 XPath 和 XQuery 查询 JSON 数据

## 产品线全面支持JSON格式

Altova 提供全系列的产品 [JSON 工具](https://www.altova.com/zh/json-tools), 从编辑工作到大规模数据验证，再到数据集成。

如果您的需求包括[JSON数据的映射和集成](https://www.altova.com/blog/json-data-mapping-and-transformation-with-mapforce/)，例如从关系数据库生成JSON数据或将JSON数据写入关系数据库，那么您可以考虑使用MapForce，这是一款由Altova开发的强大且通用的[数据映射工具](https://www.altova.com/zh/mapforce.html)。

适用于高吞吐量、高性能应用 [JSON 验证](https://www.altova.com/zh/raptorxml.html), 查看 [RaptorXML Server](https://www.altova.com/zh/raptorxml.html).

## 免费试用下载

您可以尝试其中任何一种 [JSON 工具，免费试用 30 天](http://www.altova.com/zh/download).
