1. %JSON.Adaptor 方法
%JSON.Adaptor.%JSONExport() 将启用 JSON 的类序列化为 JSON 文档,并将其写入当前设备。
method %JSONExport(%mappingName As %String = "") as %Status
参数:
%mappingName(可选)— 用于导出的映射的名称。基本映射由 “” 表示,并且是默认值。
%JSON.Adaptor.%JSONExportToStream() 将启用 JSON 的类序列化为 JSON 文档,并将其写入流。
method %JSONExportToStream(ByRef export As %Stream.Object,
%mappingName As %String = "") as %Status
参数:
%JSON.Adaptor.%JSONExportToString() 将启用 JSON 的类序列化为 JSON 文档,并将其作为字符串返回。
method %JSONExportToString(ByRef %export As %String,
%mappingName As %String = "") as %Status
参数:
export — 包含序列化 JSON 文档的字符串。
%mappingName(可选)— 用于导出的映射的名称。基本映射由 “” 表示,并且是默认值。
%JSON.Adaptor.%JSONImport() 将 JSON 或动态实体输入导入到此对象中。
method %JSONImport(input, %mappingName As %String = "") as %Status
参数:
input — JSON 作为字符串或流,或%DynamicAbstractObject 子类
%mappingName(可选)— 用于导入的映射的名称。基本映射由 “” 表示,并且是默认值。
%JSON.Adaptor.%JSONNew() 获取已启用 JSON 的类的实例。在返回此类的实例之前,您可以重写此方法以执行自定义处理(如初始化对象实例)。但是,不应直接从用户代码调用此方法。
classmethod %JSONNew(dynamicObject As %DynamicObject,
containerOref As %RegisteredObject = "") as %RegisteredObject
参数:
dynamicObject — 具有要分配给新对象的值的动态实体。
containerOref (optional) — 从 %JSONImport() 调用时包含的对象实例。
2. %JSON.Adaptor 和属性参数
除非另有说明,否则可以为类或单个属性指定参数。作为类参数,它指定相应属性参数的默认值。作为属性参数,它指定一个覆盖默认值的值。
允许生成属性转换方法。
parameter %JSONENABLED = 1;
有效值为:
parameter %JSONFIELDNAME
控制 JSON 输入中意外字段的处理。
parameter %JSONIGNOREINVALIDFIELD = 0;
有效值为:
指定如何存储字符串属性的空字符串。此参数仅适用于真正的字符串(由 XSDTYPE = “string” 和 JSONTYPE=“string” 确定)。
parameter %JSONIGNORENULL = 0;
有效值为:
$char(0),$char(0) 作为字符串 “” 写入 JSON。JSON 输入中缺少的字段始终存储为 “”,并且 “” 始终根据 %JSONNULL 参数输出到 JSON。指定此属性是包含在 JSON 输出中还是输入中。
parameter %JSONINCLUDE = "inout"
有效值为:
控制对未指定属性的处理。
parameter %JSONNULL = 0;
有效值为:
指定如何投影对 JSON 字段的对象引用。
parameter %JSONREFERENCE = “OBJECT”;
有效值为:
3. %JSON.Formatter 方法和属性
这%JSON.Formatter 可用于格式化 JSON 字符串、流或DynamicAbstractObject 的子类对象.
%JSON.Formatter.Format() 使用指定的缩进格式化 JSON 文档,并将其写入当前设备。
method Format(input) as %Status
参数:
%JSON.Formatter.FormatToStream() 使用指定的缩进设置 JSON 文档的格式,并将其写入流。
method FormatToStream(input, ByRef export As %Stream.Object) as %Status
参数:
%JSON.Formatter.FormatToString() 使用指定的缩进设置 JSON 文档的格式并将其写入字符串,或者将启用 JSON 的类序列化为 JSON 文档并将其作为字符串返回。
method FormatToString(input, ByRef export As %String = "") as %Status
参数:
%DynamicAbstractObject子类.%JSON.Formatter.Indent 属性指定是否应缩进 JSON 输出。默认值为 true。
property Indent as %Boolean [ InitialExpression = 1 ];
%JSON.Formatter.IndentChars 属性指定在缩进处于打开状态时用于每个缩进级别的字符序列。默认为一个空格。
property IndentChars as %String [ InitialExpression = " " ];
%JSON.Formatter.LineTerminator 属性指定在缩进时终止每行的字符序列。默认值为 $char(13,10)。
property LineTerminator as %String [ InitialExpression = $char(13,10) ];