utsjsonobject.md 1.2 KB
Newer Older
Q
qiang 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13
# UTSJSONObject

UTSJSONObject 是 UTS 语言的内置类型,主要用来操作[匿名对象](../object.md#anonymous-object)

## 创建实例

UTSJSONObject 对象的实例目前主要通过两种方式来创建:

* 通过[对象字面量](../literal.md#object-literal)

```ts
const person: UTSJSONObject = {
    name: 'Tom',
Q
qiang 已提交
14 15 16
    printName: () => {
      // ...
    }
Q
qiang 已提交
17 18 19 20 21 22
}
```

* 通过 JSON 字符串

```ts
Q
qiang 已提交
23
const person: UTSJSONObject = JSON.parse('{"name":"Tom"}')
Q
qiang 已提交
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
```

## 实例方法

### get(key: string): any | null

返回指定键对应的值,如果对象中不存在此键则返回 null。

```ts
const name: string = person.get('name') as string
```

get 方法可以简化为使用下标运算符 `[]` 访问

```ts
const name: string = person['name'] as string
```

### set(key: string, value: any | null)

增加或更新指定键对应的值。

```ts
Q
qiang 已提交
47
person.set('name', 'Tom')
Q
qiang 已提交
48 49 50 51 52
```

set 方法可以简化为使用下标运算符 `[]` 赋值

```ts
Q
qiang 已提交
53
person['name'] = 'Tom'
Q
qiang 已提交
54 55 56 57 58 59 60 61 62 63 64 65
```

### toMap(): Map<string, any>

将当前 UTSJSONObject 实例转换为 Map 实例。

```ts
person.toMap().forEach((key: string, value: any) => {
    console.log(key)
    console.log(value)
})
```