【问题标题】:How to parse multidimensional array in string format back to multidimensional array如何将字符串格式的多维数组解析回多维数组
【发布时间】:2018-03-04 11:39:10
【问题描述】:

我正在使用 angular5。我有一个 questionOrderList,它是一个包含字符串格式的多维数组的字符串。我需要做的是将字符串格式的数组解析回多维数组类型。目前我已经使用了我的代码看起来像的 JSON.parse 方法。

    console.log("qorder service : "+questionOrderList)
    console.log("qorder service parsed:" +JSON.parse(questionOrderList))

我得到的输出是

qorder service : [[3290],[3287],[3289,3293],[3295]]
qorder service parsed: 3290,3287,3289,3293,3295

但如果数组只有一排是正确的

qorder service : [[3290,3287,3289,3293,3295]]
qorder service parsed: 3290,3287,3289,3293,3295

【问题讨论】:

  • 第一个输出也是正确的。这就是 JavaScript 如何将这些数组转换为字符串的方式。尝试console.log(JSON.parse(questionOrderList)) 不使用字符串连接。

标签: javascript angular parsing multidimensional-array


【解决方案1】:

你说的是对的,看这个:

var questionOrderList = "[[3290],[3287],[3289,3293],[3295]]";
var parsedList = JSON.parse(questionOrderList);

console.log(parsedList)

真正的问题是 JS 如何解释字符串与数组的连接。它隐式调用数组上的.join(','),如下所示:

var questionOrderList = "[[3290],[3287],[3289,3293],[3295]]";
var parsedList = JSON.parse(questionOrderList);
console.log(parsedList);
console.log("" + parsedList);
console.log(parsedList.join(','))

【讨论】:

  • 但是当我运行questionOrderList.length() 时,它给出的是1 而不是4
  • 请更新问题以显示您在说什么
猜你喜欢
  • 2016-11-04
  • 2023-03-04
  • 1970-01-01
  • 2019-06-13
  • 1970-01-01
  • 2019-02-18
  • 2012-06-29
  • 2018-07-10
  • 2014-02-08
相关资源
最近更新 更多