第五章 Caché JSON 快速参考动态实体方法

2021-01-01  本文已影响0人  Cache技术分享

第五章 Caché JSON 快速参考动态实体方法

方法详细信息

本节列出所有可用的动态实体方法,简要地描述每个方法并提供进一步信息的链接。所有方法都可用于对象和数组,除了%Push()%Pop()之外,%Push()%Pop()只适用于数组

%FromJSON()

给定一个JSON源,解析该源并返回一个数据类型为%DynamicAbstractObject的对象,该对象包含已解析的JSON。如果解析过程中出现错误,将抛出异常。

classmethod %FromJSON(str) as %DynamicAbstractObject

参数

  1. 包含源的字符串值。
  2. 要从中读取源的流对象。
  3. 可以读取源代码的文件URI。该文件必须编码为UTF-8。

类引用:%DynamicAbstractObject.%FromJSON()

%Get()

给定一个有效的对象键或数组索引,返回该值。如果该值不存在,则返回一个空字符串“”

 method %Get(key) as %CacheString

参数

类引用: %DynamicObject.%Get()%DynamicArray.%Get()

%GetIterator()

返回一个%Iterator器对象,允许对一个动态实体的所有成员进行迭代。

 method %GetIterator() as %Iterator.AbstractIterator

类引用: %DynamicObject.%GetIterator(), %DynamicArray.%GetIterator(), %Iterator.Object, %Iterator.Array

%GetNext()

%GetIterator()返回的%Iterator对象的方法。推进迭代器,如果迭代器位于有效元素上,则返回true;如果位于最后一个元素上,则返回false.键和值参数返回当前迭代器位置的有效元素的值。

method getNext(Output key, Output value) as %Integer

参数

类引用: %Iterator.Object.%GetNext() and %Iterator.Array.%GetNext()

%GetTypeOf()

给定有效的对象键或数组索引,返回表示该值的数据类型的字符串。

method %GetTypeOf(key) as %String

参数

返回值

类引用: %DynamicAbstractObject.%GetTypeOf()

%IsDefined()

测试键指定的项是否在对象中定义。如果项未赋值或不存在,则返回false。

method %IsDefined(key) as %Boolean

参数:
key - 要测试的项的对象键或数组索引。数组索引必须作为标准整数值传递。数组索引从位置0开始。

类引用:%DynamicObject.%IsDefined()%DynamicArray.%IsDefined()

%Pop()

返回数组中最后一个成员的值。然后从数组中删除该值。如果数组已经为空,则该方法返回空字符串“”。

method %Pop() as %CacheString

类引用: %DynamicArray.%Pop()

%Push()

给定一个新值,将其追加到当前数组的末尾,增加数组的长度。值返回一个oref,该oref引用当前修改的数组,允许对%Push()的调用被链接。

 method %Push(value, type) as %DynamicAbstractObject

参数

  1. "null" JSON null。value参数必须是“”(空字符串)。
  2. "boolean" JSON为false(值参数必须为0)或为true(值参数必须为1)。
  3. "false" JSON false(值参数必须为0)
  4. "true" JSON true(值参数必须为1)
  5. "number" 将值转换为规范数值
  6. "string" 将值转换为文本字符串

类引用: %DynamicArray.%Push()

%Remove()

从动态对象或数组中移除指定的元素,并返回被移除元素的值。如果元素的值是一个嵌入的动态对象或数组,那么也会删除所有从属节点。在动态数组中,删除的元素之后的所有元素的下标位置都将减少1。

method %Remove(key) as %DynamicAbstractObject

参数:
key - 要删除的元素的对象键或数组索引。数组索引必须作为标准整数值传递。数组索引从位置0开始。

类引用: %DynamicObject.%Remove() , %DynamicArray.%Remove()

%Set()

创建新值或更新现有值。返回对修改后的数组的引用,允许嵌套对%Set()的调用。

   method %Set(key, value, type) as %DynamicAbstractObject

参数

  1. "null" JSON null。value参数必须是“”(空字符串)。
  2. "boolean" JSON为false(值参数必须为0)或为true(值参数必须为1)。
  3. "false" JSON false(值参数必须为0)
  4. "true" JSON true(值参数必须为1)
  5. "number" 将值转换为规范数值
  6. "string" 将值转换为文本字符串

类引用: %DynamicObject.%Set() , %DynamicArray.%Set()

%Size()

返回显示动态对象或数组大小的整数。对于数组,大小包括数组中未分配的项。对于对象,大小只包含已赋值的元素。

method %Size() as %Integer

类引用: %DynamicAbstractObject.%Size()

%ToJSON()

转换%DynamicAbstractObject的实例。转换成JSON字符串。

method %ToJSON(outstrm As %Stream.Object) as %String

参数

类引用: %DynamicAbstractObject.%ToJSON()

上一篇下一篇

猜你喜欢

热点阅读