# JSON ## 静态方法 ### parse JSON.parse() 方法用来解析 JSON 字符串,构造由字符串描述的 UTSJSONObject。 ```ts const json = `{"result":true, "count":42}`; const obj = JSON.parse(json); console.log(obj["count"]); // expected output: 42 console.log(obj["result"]); // expected output: true ``` **注意** - JSON.parse 解析出来的对象,目前仅支持使用方括号[]访问 - 如果输入的字符串不是合法的json格式,则会返回 null ## 实例方法 ### parse(text, reviver?) ```ts class Person { name:string = "" age:number = 0 } // 带泛型的parse,这里的personObj 类型是 我们定义的`Persion`类 let personObj = JSON.parse('{"name":"zhangsan","age":12}') // 不带泛型的parse,这里的jsonObj类型是通用的`UTSJSONObject` let jsonObj = JSON.parse('{"name":"zhangsan","age":12}') ``` HBuilderX 3.9+,支持JSON.parse传入[泛型](../generics.md)。 与不带泛型的JSON.parse 相比,多了一个`` 尖括号 用来指定返回类型。 相比不带泛型的`parse`函数,带泛型的 `parse`函数,会提高反序列数据的开发效率,明确的结构数据可以提升工程健壮度 ### stringify(value, replacer?, space?) ```ts console.log(JSON.stringify({ x: 5, y: 6 })); // expected output: "{"x":5,"y":6}" console.log(JSON.stringify([3, 'false', boolean])); // expected output: "[3,"false",false]" console.log(JSON.stringify(new Date(2006, 0, 2, 15, 4, 5))); // expected output: ""2006-01-02T15:04:05.000Z"" ``` ### stringify(value, replacer?, space?) ### parseObject(text: string) ### parseObject\(text: string) ### parseArray(text: string) ### parseArray\(text: string)