ht.ui.UIJSONSerializer()

new UIJSONSerializer()

UI 序列化和反序列化器

Example
var serializer = new ht.ui.UIJSONSerializer();
var json = serializer.serialize(borderLayout); // 序列化 borderLayout

var newBorderLayout = serializer.deserialize(json); // 反序列化 json,得到新的 borderLayout

Methods

deserialize(json, setDataId) → {ht.ui.View}

反序列化组件

Parameters:
Name Type Attributes Description
json string | object

json 数据或对象

setDataId boolean <optional>

DataModel 中数据是否保留原始 id

Returns:
ht.ui.View -

反序列化后得到的组件

deserializeProperty(json, name, instance) → {any}

反序列化属性值,可重写自定义

Parameters:
Name Type Description
json string

属性值 json

name string

属性名

instance object

属性所属的类实例

Returns:
any -

反序列化后的属性值

isRef(value, name, instance) → {boolean}

是否是引用类型;序列化某个类实例时,通过此函数判断是否是引用类型,如果是引用类型将其序列化结果放置到引用块中,可重写自定义

Parameters:
Name Type Description
value any

属性值

name string

属性名

instance object

属性所属的类实例

Returns:
boolean -

是否是引用类型

serialize(view, space) → {string}

序列化组件

Parameters:
Name Type Attributes Description
view ht.ui.View

要序列化的组件

space string | number <optional>

分隔符,同 JSON.stringify 函数中的 space 参数

Returns:
string -

json 字符串

serializeProperty(value, name, instance) → {any}

序列化属性值,可重写自定义

Parameters:
Name Type Description
value any

属性值

name string

属性名

instance object

属性所属的类实例

Returns:
any -

序列化后的属性值

toJSON(view) → {object}

序列化组件,返回值为 Object 类型

Parameters:
Name Type Description
view ht.ui.View

要序列化的组件

Returns:
object -

json 对象