【问题标题】:Convert a string to multi-dimensional array in javascript在javascript中将字符串转换为多维数组
【发布时间】:2020-04-16 04:25:07
【问题描述】:

这是由 REST API 返回的:[[5671, 204], [5673, 192], [5674, 120], [5683, 120], [5684, 192], [5685, 204]]

当我在执行 typeof 时,我会在 javascript 中获取上面的字符串。我想把它转换成一个多维数组。

<script type="text/javascript">
const Http = new XMLHttpRequest();
const url='/hello/get_pw_status';
Http.open("GET", url);
Http.send();
var resp;

Http.onreadystatechange = (e) => {
console.log(Http.responseText);
document.getElementById("demo").innerHTML =Http.responseText;
console.log(typeof Http.responseText);


var pw_data = [];
pw_data=Http.data;
console.log(pw_data);
}

【问题讨论】:

  • var resp = JSON.parse(Http.responseText);并使用 resp 作为您的数据源
  • 它正在工作,但在控制台中我可以看到下面的异常

标签: javascript rest api multidimensional-array xmlhttprequest


【解决方案1】:

使用 JSON.parse 转换响应字符串中的数组。

<script type="text/javascript">
const Http = new XMLHttpRequest();
const url='/hello/get_pw_status';
Http.open("GET", url);
Http.send();
var resp;

Http.onreadystatechange = (e) => {
    var multiDimentionalArray;
    if(typeof Http.responseText == "string") {
        multiDimentionalArray = JSON.parse(Http.responseText);
    }
    conosle.log(multiDimentionalArray);
}

【讨论】:

  • 欢迎您,您可以接受答案并关闭问题
  • Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse () at XMLHttpRequest.Http.onreadystatechange (index:21) 它给了我数组但在控制台中我也可以看到上面的异常,我的代码有什么问题吗?
  • 你可以尝试将 JSON.parse 放在 try catch 块中,当收到的响应不是正确的 JS 对象时会发生错误
  • 您的响应字符串也可能包含编码字符,请确保没有。
猜你喜欢
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-10
  • 2011-07-07
  • 2019-02-13
  • 2012-11-17
相关资源
最近更新 更多