English
UTSJSONObject 是 UTS 语言的内置类型,主要用来操作匿名对象
注意:UTSJSONObject类型的数据暂不支持响应式
UTSJSONObject 对象的实例目前主要通过两种方式来创建:
const person: UTSJSONObject = {
name: 'Tom',
printName: () => {
// ...
}
}
// 写法1 推荐
const person: UTSJSONObject = JSON.parseObject('{"name":"Tom"}')!
// 写法2 推荐
const person: UTSJSONObject = JSON.parse<UTSJSONObject>('{"name":"Tom"}')!
// 写法3 如果 as 转换的实际类型不匹配 会导致 crash,建议先通过 `instanceof` 判断类型再进行as转换。
const parseRet = JSON.parse('{"name":"Tom"}')
if(parseRet instanceof UTSJSONObject){
const person = parseRet as UTSJSONObject
}
返回指定键对应的值,如果对象中不存在此键则返回 null。
const name: string = person.get('name') as string
get 方法可以简化为使用下标运算符 []
访问
const name: string = person['name'] as string
增加或更新指定键对应的值。
person.set('name', 'Tom')
set 方法可以简化为使用下标运算符 []
赋值
person['name'] = 'Tom'
这个方法用来获取指定元素类型的数组
let obj = JSON.parseObject('{"name":"tom","tag":["student","user"]}')
// 这里得到是 Array<*>
let noGenericArray = obj!.getArray("tag")
console.log(noGenericArray)
// 这里得到是 Array<string>
let genericArray = obj!.getArray<string>("tag")
console.log(genericArray)
person.toMap().forEach((value, key) => {
console.log(key)
console.log(value)
})