这个还处于stage3的提案,但目前已经得到所有主流浏览器的支持
JSON.parse用于将JSON格式的字符串解析为JavaScript对象。这个方法在JavaScript中非常常用,特别是在处理API响应、从文件读取数据等场景中。
1 | JSON.parse(text, reviver); |
其中text是要解析的JSON字符串,reviver是一个可选的函数,用于在解析过程中对每个键值对进行转换。在以前reviver函数只能接收两个参数,现在已经可以接收第三个参数,用于获取当前解析的原始字符串
1 | var jsonString = '{"name": "zhangsan", "id": 10007199254740991008, "city": "Hangzhou"}'; |
这里的问题就是数字太大了,超出了JavaScript的Number类型安全范围,会出现精度丢失的问题。所以reviver函数的第三个参数可以用来解决这个问题
1 | var jsonString = '{"name": "zhangsan", "id": 10007199254740991008, "city": "Hangzhou"}'; |
这样就可以解决数字太大的问题了,source参数就是原始的字符串,我们可以直接返回它,这样就不会出现精度丢失的问题了。