【问题标题】:I am getting one long string back from an API call that I need to turn into an array. The values are comma separated. What is the best way to do this?我从需要转换为数组的 API 调用中得到一个长字符串。这些值以逗号分隔。做这个的最好方式是什么?
【发布时间】:2021-09-04 19:26:11
【问题描述】:

我正在处理来自 api 的数据,该 api 为一些键返回格式如下的值:

      "key_one": [
        "[\"Some Value One\",\"Some Value Two\",\"Some Value Three\"]"
      ],
      "key_two": [
        "[\"Some Value Four\",\"Some Value Five\"]"
      ],

键的值作为一个数组返回,但该数组只包含一个长字符串。我正在寻找一种服用THIS的方法:

["[\"Some Value One\",\"Some Value Two\",\"Some Value Three\"]"]

把它变成这个

["Some Value One","Some Value Two","Some Value Three"]

我觉得 Regex 最适合这个,但我仍然是 Regex 的新手,到目前为止我的尝试还没有让我有所收获。

我还尝试做一个基本的 for 循环来查找 " 标记的存在,然后检查后面的字符是否不是 ',' 并尝试将字母推入或 += 到字符串中,然后最后放入一个数组以返回,但它变得一团糟并且也不起作用。

我希望这里有人可以向我展示一个更优雅的解决方案.....

【问题讨论】:

    标签: javascript arrays regex


    【解决方案1】:

    你可以试试JSON.parse

    const obj = {
      "key_one": [
        "[\"Some Value One\",\"Some Value Two\",\"Some Value Three\"]"
      ],
      "key_two": [
        "[\"Some Value Four\",\"Some Value Five\"]"
      ]
    }
    
    for (let keys in obj) {
      obj[keys] = JSON.parse(obj[keys])
    }
    console.log(obj)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 2020-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多