提交 2ed5ed50 编写于 作者: 杜庆泉's avatar 杜庆泉

Update json.md

上级 18154f05
...@@ -22,6 +22,39 @@ console.log(obj["result"]); ...@@ -22,6 +22,39 @@ console.log(obj["result"]);
- JSON.parse 解析出来的对象,目前仅支持使用方括号[]访问 - JSON.parse 解析出来的对象,目前仅支持使用方括号[]访问
- 如果输入的字符串不是合法的json格式,则会返回 null - 如果输入的字符串不是合法的json格式,则会返回 null
### <T> parse
带泛型的 JSON.parse<T>() 是JSON.parse() 的加强版实现,它可以返回一个指定类型的结构化数据,在很多场景下它非常有用。
先看看他的用法
```uts
class Persion {
var name =""
var age = 0
}
// 带泛型的parse,这里的personObj 类型是 我们定义的`Persion`类
let personObj = JSON.parse<Persion>('{"name":"zhangsan","age":12}')
// 不带泛型的parse,这里的jsonObj类型是通用的`UTSJSONObject`
let jsonObj = JSON.parse('{"name":"zhangsan","age":12}')
```
与不带泛型的JSON.parse 相比,多了一个`<Persion>` 尖括号 用来指定返回类型。
在这个示例中,看上去好像也不是很有用。太简单了。我们可以扩展一下
```
let userArrayArray = JSON.parse<Array<Persion>>('[{"name":"zhangsan","age":12},{"name":"lisi","age":13}]')
```
我们得到了一个Person数组,甚至我们还可以把Person 扩展到几百条属性,或者在其中嵌套更多层数据结构,
总之,带泛型的 `parse`函数,会大大提高我们反序列数据的效率,和工程健壮度
### stringify ### stringify
JSON.stringify() 方法将一个 uts 对象或值转换为 JSON 字符串 JSON.stringify() 方法将一个 uts 对象或值转换为 JSON 字符串
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册