前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对接口遇到的有趣小bug

对接口遇到的有趣小bug

作者头像
用户9914333
发布2024-01-05 17:15:36
1030
发布2024-01-05 17:15:36
举报
文章被收录于专栏:bug收集bug收集

bug收集:专门解决与收集bug的网站

今天和后端对接接口时,发现了一个有趣的bug, 第一次遇到,分享出来大家也看看

问题描述:

后端数据 :双引号包单引号

"['白富美' ,'专业过硬' ,'技术好' ]"

直接使用JSON.parse转换失败

改成:单引号包双引号

'["白富美","专业过硬","技术好"]'

使用JSON.parse转换成功

PS: 问了下后端为什么要用双引号包单引号,原因是:java中字符串必须用双引号,单引号只有char类型使用。所以使用了上面的方法。

当然,也可以使用双引号中包括双引号,只是需要写转义符\ . 相对来说后端处理麻烦点,所以用了单引号

解决方案:

将字符串的的引号进行替换,再转换即可 .

封装的方法如下:

代码语言:javascript
复制
const toArray = (str: string) => {
  str = str.replace(/'/g, '"'); // 移除单引号  
  str = str.replace(/^\[/, ''); // 去掉开头的 '['  
  str = str.replace(/\]$/, ''); // 去掉结尾的 ']'  
  return JSON.parse('[' + str + ']'); // 添加必要的 '[' 和 ']' 并解析
}

苟有恒 , 何必三更眠五更起

关注我,一起学习吧

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 bug收集 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档