不能以数组格式转换字符串,如" [55]"到数组

时间:2017-11-21 13:57:21

标签: javascript

我从有效负载中的另一台服务器收到以下内容作为查询参数:

"[55]"

现在我想将它转换为JavaScript中的数组,

以下是我的工作:

var termssValidation= JSON.parse(JSON.stringify(event.termsQuery));

但是当我运行以下内容时:

for(var t in termssValidation ){
    console.log(termssValidation[t]);
}

我得到3行如下:

[
5
5
]

如何正确地将上述内容转换为数组?

4 个答案:

答案 0 :(得分:4)

您只需要解析JSON字符串。

console.log(JSON.parse('[55]'));

答案 1 :(得分:3)

JSON.stringify过剩

let j = JSON.parse("[55]")
console.log(j)

答案 2 :(得分:3)

问题是内部JSON.stringify()。 此方法将“[66]”转换为“”[66]“”。然后JSON.parse转换此字符串,就像内部引号被转义一样。结果是原始字符串“[66]”。 因为javascript中的String是可迭代的,所以您将获得单个字符作为迭代的结果。

这是解决问题的方法:

var termssValidation= JSON.parse(event.termsQuery);

答案 3 :(得分:2)

此代码有效!



let a = "[55]";

a = JSON.parse(a);

for (let i in a) {
  console.log(a[i]); //55
}