编辑文档内容
在JSON网格视图中编辑内容很简单:只需双击要编辑的单元格,然后根据需要编辑内容即可。此外,JSON网格视图还提供以下编辑功能:
•类型选择功能,以及自动类型检测和值转换功能
•JSON文档中基于JSON Schema的自动完成功能
类型选择和自动检测类型
在JSON网格视图中,对以下类型类别做出了区分:
•简单类型:字符串、数字、布尔值、Null
•特殊简单类型:自动(通过检测值来确定),注释(JSONC, JSON5)
•容器类型:对象,数组
•特殊容器类型:公式
值的类型由值前面的符号表示(参见下方截图)。要更改类型,请单击其符号并从出现的菜单中选择所需的类型。在下图中,您可以看到各个类型的符号和快捷方式:
自动检测的类型在图标下方有绿点(参见下方截图)。显式类型指的是您分配的类型。
与类型相关的操作在两种情况下发生:
•在加载JSON文档时:所有简单类型都被转换为自动,从值中自动检测类型。例如,"MyString”被自动检测为字符串类型,123被自动检测为数字类型,true被自动检测为布尔值类型,null被自动检测为Null类型。对于不明确的字符串,需要您明确选择一种类型。
•在输入新的数据结构或值时:会自动检测简单类型并自动分配类型。如有必要,您可以随后更改类型。
请注意: | JSON网格视图选项允许您指定(i) 当选定多个单元格时,如何进行类型更改,以及(ii) 当类型更改为数组或对象时,应如何处理原子类型的值。 |
自动完成
当正在编辑的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) 通过输入助手(参见下方截图)。弹出窗口和输入助手分别显示在该光标位置处有效的条目列表。要在弹出列表中的条目之间移动,请使用箭头键。从弹出窗口中选择一个条目,或双击输入助手中的一个条目以将其插入。
单元格内命令按钮
在JSON网格视图中,网格单元格中的按钮提供了在各自单元格的上下文中可用的功能。使用这些按钮命令是进行常用操作的一种更快、更简单的方式。下表列出了可用的按钮命令。与显示相关的命令在显示时带有蓝色背景。用于编辑文档(结构和内容)的命令在显示时带有米色背景。要获得特定单元格的上下文中的附加命令,请使用该单元格的上下文菜单。提示:当您将鼠标悬停在按钮上时,单元格按钮命令的名称会显示为工具提示。
根据单元格内容优化网格列的宽度。 | |
/ | 当有颜色时,表示表格显示处于打开状态,否则表示关闭。单击以切换显示。 |
/ | 表格左上方单元格中的切换命令。该命令将行切换为列,反之亦然。 |
/ | 当有颜色时,表示表格、对象或数组的过滤器处于活动状态,否则表示过滤器处于停用状态。单击以停用/激活。要对表达式进行编辑,请双击它。 |
用于自动换行的切换命令。选中后,将打开自动换行。默认情况下,仅对项的内容进行换行。如果要对项的名称额外进行换行,请从该图标的下拉列表中选择这一选项。 | |
在数组中:将数组项追加到列表或表格; 在对象中:追加key:value对(作为列表中的行,或(在表格显示中)作为新表格列的单元格)。 | |
添加一个空的key:value对;该值的类型默认是string。 | |
选择属性值的数据类型,或输入注释或公式。 |
提示: | 有关其他工具栏命令的说明,请参见网格视图中的上下文菜单部分。 |
修改时验证
默认情况下,编辑时验证模式处于启用状态。启用后,当您在JSON网格视图中修改文档时,将执行格式和验证检查。为了对JSON文档执行验证(除了格式检查外),必须为该JSON文档分配一个JSON Schema。文本中的错误以红色显示;文档中错误所在的位置标有红色感叹号。有关更多信息,请参见验证JSON文档。
编辑时验证模式可以打开或关闭,方法是使用(i) XML | 编辑时验证菜单命令,(ii) 编辑时验证工具栏按钮,或(iii) “选项”对话框中“验证”设置的编辑时选项。
查找和替换
您可以使用编辑菜单中的查找(Ctrl+F)和替换(Ctrl+H)命令在JSON网格视图中查找文本并将其替换。结果以橙色突出显示,包含的组件也以橙色突出显示。在包含长文本字符串的单元格中,仅单元格会被突出显示。