为了账号安全,请及时绑定邮箱和手机立即绑定

如何将字符串解析为特定的数组字符?

如何将字符串解析为特定的数组字符?

米琪卡哇伊 2023-03-24 16:15:33
在某些时候,我能够将这个数组从我的节点 js 服务器结束到导航器页面,但它是作为一个字符串接收的,所以我需要将它解析成一个数组"['Date', 'Call (minutes)'],['Date1', 100],['Date2', 1370],['Date3', 660],['Date4', 1030],['Date5', 1000],['Date6', 1170],['Date7', 660]"有什么工具可以帮我把它解析成数组形式吗?
查看完整描述

4 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

您需要将单引号替换为双引号并将字符串括在方括号中以获取数组数组。


const

    string = "['Date', 'Call (minutes)'],['Date1', 100],['Date2', 1370],['Date3', 660],['Date4', 1030],['Date5', 1000],['Date6', 1170],['Date7', 660]",

    array = JSON.parse(`[${string.replace(/'/g, '"')}]`);


console.log(array);


eval如果数据可靠,另一种方法是使用。


const

    string = "['Date', 'Call (minutes)'],['Date1', 100],['Date2', 1370],['Date3', 660],['Date4', 1030],['Date5', 1000],['Date6', 1170],['Date7', 660]",

    array = eval(`[${string}]`);


console.log(array);


查看完整回答
反对 回复 2023-03-24
?
温温酱

TA贡献1752条经验 获得超4个赞

您可以使用JSON.parse将字符串转换为数组。在这里,请注意单引号。在使用 之前JSON.parse,您需要将单引号 ( ') 转换为双引号 ( ")。


var str = "['Date', 'Call (minutes)'],['Date1', 100],['Date2', 1370],['Date3', 660],['Date4', 1030],['Date5', 1000],['Date6', 1170],['Date7', 660]";


var parsedArray = JSON.parse(`[${str.replaceAll("'", '"')}]`);

console.log(parsedArray);


查看完整回答
反对 回复 2023-03-24
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

如果你被迫使用这个字符串,那么你必须“让它”看起来像 JSON,但请注意这是一个非常糟糕的主意,你应该考虑在后端做一些其他事情以便将 JSON 字符串发送到前端end,而不是具有某种格式的字符串。


如果你想冒险,你可以这样做:


let res = JSON.parse('[' + "['Date', 'Call (minutes)'],['Date1', 100],['Date2', 1370],['Date3', 660],['Date4', 1030],['Date5', 1000],['Date6', 1170],['Date7', 660]".replaceAll("'", '"') + ']')

console.log(res)


查看完整回答
反对 回复 2023-03-24
?
慕慕森

TA贡献1856条经验 获得超17个赞

您可以使用


JSON.parse(string);

UPD:我没有注意到使用了 JSON 不兼容的单引号。


我建议只用双引号替换它们:


const jsonCompatString = string.replace(/'/g, `"`);

const serverData = JSON.parse(jsonCompatString);


查看完整回答
反对 回复 2023-03-24
  • 4 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信