首页 > 解决方案 > 如何从 JSON 请求中删除不需要的字符

问题描述

我是 JavaScript 新手。我正面临这个问题,我得到 [{"_id":1}]了我的结果。有谁知道我怎样才能得到1我的输出?

这是我的代码,我从数据库中调用它。

function getaccountid() {
    var accID = new XMLHttpRequest();
    accID.open('GET', "http://127.0.0.1:8080/account" + "/" + sessionStorage.getItem("username"), true);
    accID.setRequestHeader("Content-Type", "application/json");
    accID.send(JSON.parse);
    accID.onload = function () {
        sessionStorage.setItem("accountId", accID.response)
    }
}

标签: javascriptjquery

解决方案


该响应类型是 JSON 格式的字符串,它是标准响应类型,不是问题。要读取值,您需要将结果从 JSON 字符串解析为对象数组,然后访问它。

另请注意,您需要在发送请求之前JSON.parse删除调用中的引用send()并定义load事件处理程序。试试这个:

function getaccountid() {
  var accID = new XMLHttpRequest();
  accID.addEventListener('load', function() {
    let responseObject = JSON.parse(this.responseText);
    sessionStorage.setItem("accountId", responseObject[0]['_id']);
    console.log(responseObject[0]['_id']); // = 1
  }); 

  accID.open('GET', "http://127.0.0.1:8080/account/" + sessionStorage.getItem("username"), true);
  accID.setRequestHeader("Content-Type", "application/json");
  accID.send();
}

推荐阅读