• 第6集丨ObjectScript JSON 中 %JSON 方法汇总


    1. %JSON.Adaptor 方法

    1.1 %JSONExport()

    %JSON.Adaptor.%JSONExport() 将启用 JSON 的类序列化为 JSON 文档,并将其写入当前设备。

       method %JSONExport(%mappingName As %String = "") as %Status
    
    • 1

    参数:

    %mappingName(可选)— 用于导出的映射的名称。基本映射由 “” 表示,并且是默认值。

    1.2 %JSONExportToStream()

    %JSON.Adaptor.%JSONExportToStream() 将启用 JSON 的类序列化为 JSON 文档,并将其写入流。

       method %JSONExportToStream(ByRef export As %Stream.Object, 
          %mappingName As %String = "") as %Status
    
    • 1
    • 2

    参数:

    • export― 包含序列化 JSON 文档的流。
    • %mappingName(可选)— 用于导出的映射的名称。基本映射由 “” 表示,并且是默认值。

    1.3 %JSONExportToString()

    %JSON.Adaptor.%JSONExportToString() 将启用 JSON 的类序列化为 JSON 文档,并将其作为字符串返回。

       method %JSONExportToString(ByRef %export As %String, 
          %mappingName As %String = "") as %Status
    
    • 1
    • 2

    参数:

    • export — 包含序列化 JSON 文档的字符串。

    • %mappingName(可选)— 用于导出的映射的名称。基本映射由 “” 表示,并且是默认值。

    1.4 %JSONImport()

    %JSON.Adaptor.%JSONImport() 将 JSON 或动态实体输入导入到此对象中。

       method %JSONImport(input, %mappingName As %String = "") as %Status
    
    • 1

    参数:

    • input — JSON 作为字符串或流,或%DynamicAbstractObject 子类

    • %mappingName(可选)— 用于导入的映射的名称。基本映射由 “” 表示,并且是默认值。

    1.5 %JSONNew()

    %JSON.Adaptor.%JSONNew() 获取已启用 JSON 的类的实例。在返回此类的实例之前,您可以重写此方法以执行自定义处理(如初始化对象实例)。但是,不应直接从用户代码调用此方法。

       classmethod %JSONNew(dynamicObject As %DynamicObject, 
          containerOref As %RegisteredObject = "") as %RegisteredObject
    
    • 1
    • 2

    参数:

    • dynamicObject — 具有要分配给新对象的值的动态实体。

    • containerOref (optional) — 从 %JSONImport() 调用时包含的对象实例。

    2. %JSON.Adaptor 和属性参数

    除非另有说明,否则可以为类或单个属性指定参数。作为类参数,它指定相应属性参数的默认值。作为属性参数,它指定一个覆盖默认值的值。

    2.1 %JSONENABLED

    允许生成属性转换方法。

      parameter %JSONENABLED = 1;
    
    • 1

    有效值为:

    • 1 — (默认)将生成 JSON 启用方法。
    • 0 — 方法生成器不会生成可运行的方法。

    2.2 %JSONFIELDNAME(仅限属性)

    • 设置要用作 JSON 内容中的字段名称的字符串。
    • 默认情况下,使用属性名称。
      parameter %JSONFIELDNAME
    
    • 1

    2.3 %JSONIGNOREINVALIDFIELD

    控制 JSON 输入中意外字段的处理。

      parameter %JSONIGNOREINVALIDFIELD = 0;
    
    • 1

    有效值为:

    • 0 — (默认值)将意外字段视为错误。
    • 1 — 意外字段将被忽略。

    2.4 %JSONIGNORENULL

    指定如何存储字符串属性的空字符串。此参数仅适用于真正的字符串(由 XSDTYPE = “string” 和 JSONTYPE=“string” 确定)。

      parameter %JSONIGNORENULL = 0;
    
    • 1

    有效值为:

    • 0 — (默认)JSON 输入中的空字符串存储为 $char(0)$char(0) 作为字符串 “” 写入 JSON。JSON 输入中缺少的字段始终存储为 “”,并且 “” 始终根据 %JSONNULL 参数输出到 JSON。
    • 1 — 空字符串和缺少的 JSON 字段都输入为 “”,而 “” 和 $char(0) 都输出为字段值 “”。

    2.5 %JSONINCLUDE(仅限属性)

    指定此属性是包含在 JSON 输出中还是输入中。

    parameter %JSONINCLUDE = "inout"
    
    • 1

    有效值为:

    • “inout”(默认值)— 包含在输入和输出中。
    • “outputonly” — 忽略该属性作为输入。
    • “inputOnly” — 忽略该属性作为输出。
    • “none” — 切勿包含该属性。

    2.6 %JSONNULL

    控制对未指定属性的处理。

     parameter %JSONNULL = 0;
    
    • 1

    有效值为:

    • 0 — (默认值)导出期间跳过与未指定属性对应的字段。
    • 1 — 未指定的属性导出为 null 值。

    2.7 %JSONREFERENCE

    指定如何投影对 JSON 字段的对象引用。

    parameter %JSONREFERENCE = “OBJECT”;

    有效值为:

    • “OBJECT” — (默认值)引用类的属性用于表示引用的对象。
    • “ID” — 持久类或串行类的 ID 用于表示引用。
    • “OID” — 持久类或串行类的 oid 用于表示引用。该 oid 以 classname,id 的形式投影到 JSON。
    • “GUID” — 持久类的 GUID 用于表示引用。

    3. %JSON.Formatter 方法和属性

    %JSON.Formatter 可用于格式化 JSON 字符串、流或DynamicAbstractObject 的子类对象.

    3.1 Format()

    %JSON.Formatter.Format() 使用指定的缩进格式化 JSON 文档,并将其写入当前设备。

    method Format(input) as %Status
    
    • 1

    参数:

    • input — JSON 作为字符串或流,或%动态摘要对象.

    3.2 FormatToStream()

    %JSON.Formatter.FormatToStream() 使用指定的缩进设置 JSON 文档的格式,并将其写入流。

    method FormatToStream(input, ByRef export As %Stream.Object) as %Status
    
    • 1

    参数:

    • input — JSON 作为字符串或流,或%动态摘要对象.
    • export — 格式化的 JSON 流。

    3.3 FormatToString()

    %JSON.Formatter.FormatToString() 使用指定的缩进设置 JSON 文档的格式并将其写入字符串,或者将启用 JSON 的类序列化为 JSON 文档并将其作为字符串返回。

    method FormatToString(input, ByRef export As %String = "") as %Status
    
    • 1

    参数:

    • input — JSON 作为字符串或流,或%DynamicAbstractObject子类.
    • export (可选)— 格式化的 JSON 流。

    3.3 Indent

    %JSON.Formatter.Indent 属性指定是否应缩进 JSON 输出。默认值为 true。

    property Indent as %Boolean [ InitialExpression = 1 ];
    
    • 1

    3.4 IndentChars

    %JSON.Formatter.IndentChars 属性指定在缩进处于打开状态时用于每个缩进级别的字符序列。默认为一个空格。

    property IndentChars as %String [ InitialExpression = " " ];
    
    • 1

    3.5 LineTerminator

    %JSON.Formatter.LineTerminator 属性指定在缩进时终止每行的字符序列。默认值为 $char(13,10)

    property LineTerminator as %String [ InitialExpression = $char(13,10) ];
    
    • 1
  • 相关阅读:
    UVM实战——01基本概念_2 什么是UVM?
    【自动驾驶】路径规划—— Dubins 曲线公式总结及python代码实现(基于几何的方法)
    分割回文串
    CPU保护机制 —— COPP技术 (案列+配置) |||| SDN——转控分离
    Linux部署程序
    (论文阅读46-50)图像描述2
    语音处理:Python实现dBFS刻度和采样值相互转换
    钉钉企业应用网关接入(保姆级教程)
    Linux 文件/目录访问(opendir/closedir/readdir)
    Spring编程常见错误50例-Spring Bean定义常见错误
  • 原文地址:https://blog.csdn.net/DUQGQG/article/details/126027383