JSON文本视图
Altova网站: JSON编辑器
JSON Schema、Avro Schema和JSON/JSON5实例文档(包括JSON格式的Avro数据实例)可以使用文本视图中的智能编辑功能进行编辑。这些功能包括:折叠边距、结构标记、语法着色、语法检查、以图像格式保存Base64编码的图像字符串以及自动完成。XMLSpy还提供了JSON/JSON5和XML之间的转换功能,并允许您从JSON/JSON5实例生成JSON Schema。
折叠边距
源折叠在JSON关键词和定义上启用,指的是展开和折叠这些节点的功能。这类节点在源折叠边距中用+/-符号表示(参见下方截图)。边距可以在“文本视图设置”对话框中打开或关闭。当一个节点被折叠时,它会用一个省略号来表示(参见下方截图)。如果将鼠标光标放在省略号上,则被折叠的节点的内容会显示在弹出窗口中(参见截图)。如果内容对于弹出窗口过大,则会在弹出窗口底部用省略号表示。
文本工具栏中的全部折叠/全部展开图标将所有节点展开或将它们折叠为顶级文档元素。
单击节点的+/-图标时,以下选项可用:
单击[-] | 折叠节点。 |
单击[+] | 展开节点,其子节点根据节点折叠前的情况显示为展开或折叠。 |
Shift+单击[-] | 折叠所有后代节点,但将被点击的节点保留为展开形式。 |
Ctrl+单击[+] | 展开被点击的节点及其所有后代节点。 |
结构标记
当光标放在一个大括号或方括号之前或之后时,分别分隔JSON对象或数组的一对大括号或一对方括号变为粗体(参见下方截图)。这表明特定元素的定义开始和结束的位置。
语法着色
JSON文档(JSON或Avro实例/Schema)以及JSON5文档都是由对象字符串、值字符串、运算符、数字和关键词组成的。在文本视图中,根据您在“选项”对话框中所做的设置(参见下方截图),每个类别的数据项都可以用不同的颜色显示(参见上方截图)。您可以在“选项”对话框的“文本字体”部分中设置各种JSON组件的颜色(参见下方截图)。在左上方的组合框中,选择JSON,然后为每个JSON项选择所需的颜色(在“样式”窗格中)。
请注意: | JSON5语法中允许使用注释,但JSON语法中不允许。JSON5中的注释采用以下分隔符:// comment //或/* comment */。 |
语法检查
用户可以通过选择XML | 检查格式(F7)命令来检查JSON文档(JSON或Avro实例/Schema)的语法。格式检查的结果显示在“消息”窗口中(参见下方截图)。
上方截图中的错误消息指出了文档中的一个错误:一个左大括号出现在了应该有冒号的位置。
自动完成
当正在编辑的JSON文档(JSON实例/Schema或Avro Schema)与Schema相关联时,将启用自动完成功能。
•如果文档是JSON Schema,则自动完成功能将基于由\$schema关键词指示的Schema版本。有关更多信息,请参见JSON Schema版本。
•如果文档是JSON/JSON5实例,则必须将JSON Schema分配给该实例才能启用自动完成功能。
•如果文档是JSON格式的Avro数据文档,则必须将Avro Schema分配给实例以激活自动完成功能。
•如果文档是Avro Schema,则它会自动与Avro Schema的Schema 相关联,并且自动完成功能将基于该Schema。
自动完成功能为您提供了在光标位置可用的输入选项。它通过以下方式执行操作:(i) 通过主窗口中的弹出窗口,以及(ii) 通过输入助手(参见下方截图)。弹出窗口和输入助手分别显示在该光标位置处有效的条目列表。要在弹出列表中的条目之间移动,请使用箭头键。如果Schema中包含对该条目的描述(在Schema中的条目的description关键词中),则该描述将显示在突出显示的弹出条目的旁边。从弹出窗口中选择一个条目,或双击输入助手中的一个条目以将其插入。
在上方截图显示的实例文档中,当光标位于指示属性名称开头的引号之后时,将显示弹出窗口和“JSON属性”输入助手。输入助手显示在该点允许使用的所有属性;已经输入的属性将变灰并被禁用。弹出窗口仅显示在该点允许使用的属性。
还有其他两个输入助手:JSON值和JSON实体(参见下方截图)。这些分别显示了key:value对允许的值和JSON字符串中转义字符的实体。在下方截图中,“JSON值”输入助手显示了在编辑JSON Schema期间,type关键词允许的值。“JSON实体”输入助手中的最后一个条目,\u00FF代表Unicode字符。以蓝色突出显示的部分将被替换为所需的Unicode字符的代码。
当在Schema中进行指定时,其他上下文相关的自动完成条目或提示包括以下内容:枚举、描述、所需的出现次数和默认值。
将Base64编码的字符串另存为图像
要将Base64编码的字符串保存为图像格式,请在编码文本上右键单击并选择另存为图像命令。在出现的对话框中,选择要保存图像的位置,并输入图像文件的名称。图像文件的扩展名(.png、.gif、.svg等)将从Base64编码中自动检测出来,并显示在“保存”对话框中。完成后,单击 保存。
也可以通过编辑 | 另存为图像菜单命令来执行此操作。