ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

快应用如何避免JSON.parse()解析出错

2021-07-19 16:04:20  阅读:194  来源: 互联网

标签:try parse JSON 出错 str catch 解析


现象描述

代码执行 fetch 请求,请求返回的数据默认是 JSON 化的字符串了,开发者使用 JSON 对象解析,这是正常逻辑;

但是一旦遇到服务器端权限校验失败等问题时,会返回类似 503 的 HTML 页面,此时 JSON 解析肯定就会失败。

解决方法

1. 在每个JSON.parse() 的代码执行处进行 try-catch 包围,处理出错情况

2. 在 app.ux 中提前代理 JSON.parse(),使用 try-catch 包围,待异常出现时埋点数据,或者返回默认正常数据替代。

推荐方案2,示例代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 export function parseProxy () {   const rawParse = JSON.parse   JSON.parse = function (str, defaults) {     try {       return rawParse(str)     }     catch (err) {       console.error(`JSON解析失败:${str}, ${err.stack}`)       return defaults     }   } }

 

原文链接:https://developer.huawei.com/...
原作者:Mayism

标签:try,parse,JSON,出错,str,catch,解析
来源: https://www.cnblogs.com/developer-huawei/p/15030547.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有