【问题标题】:Javascript Trying to parse string into an array [duplicate]Javascript试图将字符串解析为数组[重复]
【发布时间】:2020-11-19 06:58:26
【问题描述】:

我有一个变量来存储这样的字符串

var colorArr="['#3f67c5', '#cb4728', '#f19d39', '#459331', '#984830', '#8C2094']"

我正在尝试通过

将此字符串转换为数组

var result = JSON.parse(colorArr)

但我不断收到以下错误 "SyntaxError: Unexpected token ' in JSON at position 1

有没有办法可以把这个字符串转换成合适的数组?

提前致谢

【问题讨论】:

  • 您的字符串不是有效的 JSON。您必须在 JSON 中使用双引号:var colorArr = '["#3f67c5", "#cb4728", ...]'
  • @kaveh 谢谢...是的,它工作了
  • 查看这个答案:stackoverflow.com/questions/36038454/… JSON 标准需要双引号

标签: javascript arrays json string-parsing


【解决方案1】:

使用单引号并在里面放双引号

var colorArr= '["#3f67c5", "#cb4728", "#f19d39", "#459331", "#984830", "#8C2094"]';

var result = JSON.parse(colorArr)

console.log(result)

【讨论】:

    【解决方案2】:

    您可以使用正则表达式进行替换和拆分。

    let colorArr="['#3f67c5', '#cb4728', '#f19d39', '#459331', '#984830', '#8C2094']";
    let myArray = colorArr.replace(/'/g,'"')
    console.log(JSON.parse(myArray))

    【讨论】:

      【解决方案3】:

      这样试试

      var colorArr='["#3f67c5", "#cb4728", "#f19d39", "#459331", "#984830", "#8C2094"]';
      JSON.parse(colorArr)
      

      【讨论】:

        猜你喜欢
        • 2013-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-15
        • 1970-01-01
        • 2021-04-23
        • 1970-01-01
        相关资源
        最近更新 更多