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 Description json
String | Object json 数据或对象
setDataId
Boolean DataModel 中数据是否保留原始 id
Returns:
反序列化后得到的组件
- Type
- ht.ui.View
-
deserializeProperty(json, name, instance) → {Object}
-
反序列化属性值,可重写自定义
Parameters:
Name Type Description json
String 属性值 json
name
String 属性名
instance
Object 属性所属的类实例
Returns:
反序列化后的属性值
- Type
- Object
-
isRef(value, name, instance) → {Boolean}
-
是否是引用类型;序列化某个类实例时,通过此函数判断是否是引用类型,如果是引用类型将其序列化结果放置到引用块中,可重写自定义
Parameters:
Name Type Description value
Object 属性值
name
String 属性名
instance
Object 属性所属的类实例
Returns:
是否是引用类型
- Type
- Boolean
-
serialize(view, space) → {String}
-
序列化组件
Parameters:
Name Type Argument Description view
ht.ui.View 要序列化的组件
space
space <optional>
分隔符,同 JSON.stringify 函数中的 space 参数
Returns:
json 字符串
- Type
- String
-
serializeProperty(value, name, instance) → {Object}
-
序列化属性值,可重写自定义
Parameters:
Name Type Description value
Object 属性值
name
String 属性名
instance
Object 属性所属的类实例
Returns:
序列化后的属性值
- Type
- Object
-
toJSON(view) → {Object}
-
序列化组件,返回值为 Object 类型
Parameters:
Name Type Description view
ht.ui.View 要序列化的组件
Returns:
json 对象
- Type
- Object