Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >对接口遇到的有趣小bug

对接口遇到的有趣小bug

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

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

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

问题描述:

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

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

直接使用JSON.parse转换失败

改成:单引号包双引号

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

使用JSON.parse转换成功

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

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

解决方案:

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

封装的方法如下:

代码语言:javascript
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mobx 6 关于computed 不更新的bug
setters 会被标记为action , 调用了action是不会重新渲染,而要让重新渲染,还是要依赖 observable 变量发生改变。
用户9914333
2022/12/14
1.6K0
mobx 6 关于computed 不更新的bug
json字符串转换成对象有哪几种方法_jsonstring转对象
#####1. 将json字符串转化为json对象 a. 方案一:jquery自带的**$.parseJSON**函数
全栈程序员站长
2022/09/27
2.1K0
字符串 str 包含单个数组带的双引号怎么处理?
要将字符串 "[["121.489764476833","31.3215977774656"]]" 中的双引号去掉,并将内部的经纬度值变为数字类型,你可以使用以下代码:
王小婷
2023/08/26
8040
字符串 str 包含单个数组带的双引号怎么处理?
vue3+ts+element-plus项目总结2
最近,在写vue3 + ts 项目,项目中使用技术点总结2 , 推荐收藏,供开发时使用
用户9914333
2024/02/05
2860
vue3+ts+element-plus项目总结2
reduxjs-toolkit 案例 — 登录
redux新版本移动了@reduxjs/toolkit 这个库中, 不再使用类似redux-thunk等中间件,大大地简化了开发的流程。
用户9914333
2022/12/14
1.5K0
reduxjs-toolkit 案例 — 登录
字符串与JSON
一、代码习题 1.使用数组拼接出如下字符串 ,其中styles数组里的个数不定 var prod = { name: '女装', styles: ['短款', '冬季', '春装'] }; function getTpl(data){ //todo... }; var result = getTplStr(prod); //result为下面的字符串 <dl class="product"> <dt>女装</dt> <dd>短款</dd> <dd>冬季</dd>
小胖
2018/06/27
3.5K0
JS拼接HTML引用变量有哪几种姿势,参数出现[object,object]怎么办
在我们写前后端交互时,最反感的可能就是拼接大量图表的工作了(html += "xxxxxxxxx...." ),记得之前写一个“急”页面,有大量的js拼接内容(类似今日头条APP的检索页面),拼接代码写了几千行。知道么,我是流着泪加班写完的。
陈哈哈
2020/07/06
4.3K0
js 大文件上传的思路
把一个大文件转换成二进制内容,然后按照一个固定的大小对二进制内容进行切割,得到多个小文件,然后循环上传所有的小文件。在js中,文件File对象是Blob对象的子类,可以使用 slice() 方法完成对文件的切割;
用户9914333
2022/12/14
8.2K0
js 大文件上传的思路
JSON 基本使用
JSON常被拿来与XML做比较,因为JSON 的诞生本来就多多少少要有取代XNL的意思。相比 XML,JSON的优势如下:
兮动人
2021/06/11
1.6K0
JSON 基本使用
JSON 基本使用
JSON常被拿来与XML做比较,因为JSON 的诞生本来就多多少少要有取代XNL的意思。相比 XML,JSON的优势如下:
兮动人
2021/05/31
2K0
JSON 基本使用
一文简单了解Python数据类型
字符串类型 字符串是通过一个或多个元素组成的序列。 字符串一般使用的 单引号,双引号,三单引号,三双引号标识。 转义符 r 禁用转义符号 \n 换行 \b 退格 \r 回车 \t 制表符 \? 一个问
DevOps云学堂
2019/10/18
4830
什么是JSON
我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是怎样的?先不要急着复制粘贴到控制台,先自己打开一个代码编辑器或者纸,写写看,写完再去仔细对比你的控制台输出,如果有误记得看完全文并评论,哈哈。
j_bleach
2019/07/02
2.2K0
怀英漫谈8 - JS的字符串和数
你好,这周想和你聊聊JS中的基本语法的另一个部分——字符串和数组的使用。这次我们先聊聊字符串和它的方法。
用户1335799
2018/07/26
6620
怀英漫谈8 - JS的字符串和数
关于JS字面量及其容易忽略的12个小问题
JS这种语言一不小心就会写错。为什么前端技术专家工资那么高,可能要解决的疑难杂症最多吧。
LIYI
2019/09/02
3.4K0
关于JS字面量及其容易忽略的12个小问题
一句python,一句R︱python中的字符串操作、中文乱码、NaN情况(split、zip...)
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python。最好就是一句python,对应写一句R。
悟乙己
2019/05/26
3.4K0
Kamailio Transformations - 常用的伪变量转换函数
伪变量转换函数大部分在 pv 模块中处理,官方文档记录的很全面,但是给的例子比较少。本文列举比较常用的转换函数
杜金房
2024/04/11
3970
Kamailio Transformations - 常用的伪变量转换函数
前端小知识10点(2020.3.20)
解释: | 表示位的或运算,将十进制数字转为二进制,然后两数的每一位进行比较,只要有1就为1, 两位均为 0,才为 0 计算过程:
进击的小进进
2020/04/01
1.3K0
AJAX
先了解JSON 什么是JSON? JSON 指的是JavaScript对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 JSON 具有自我描述性,更易理解   JSON 使用JavaScript语法来描述数据对象,但是JSON仍然独立与语言和平台。JSON解释器和JSON库支持许多不同的编程语言。 它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次
新人小试
2018/04/12
4.7K0
AJAX
Go 语言中的字符串基本操作
这篇文章已经放到腾讯智能工作台的知识库啦,链接在这里:ima.copilot-Go 入门到入土。要是你有啥不懂的地方,就去知识库找 AI 聊一聊吧。
叫我阿杰好了
2025/06/16
3440
Go 语言中的字符串基本操作
关于JavaScript常用的工具函数汇总
前言 随着开发经验的积累,很多人会有自己的常用站点,一些网址收藏,自己造的轮子或者别人的轮子,工具函数库等等。 这里提供一些常用的工具函数,如果你也有一些觉得挺不错的库,欢迎在下方评论💓。 格式化时间戳 export function formatDateTimeStamp(date, fmt) { // 格式化时间戳 : formatDateTimeStamp(new Date(time),'yyyy-MM-dd hh:mm:ss') if (/(y+)/.test(fmt)) {
唐志远
2022/10/27
6370
相关推荐
mobx 6 关于computed 不更新的bug
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档