【问题标题】:Parsing JSON response by title - shows output按标题解析 JSON 响应 - 显示输出
【发布时间】:2014-03-07 09:31:03
【问题描述】:

我已经在yotpo api中实现了以下帖子(足够简单的帖子请求)

var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://yotpoapi.apiary.io/oauth/token');
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
  if (this.readyState == 4) {
    if (typeof cb !== "undefined") {
      cb(this);
    }
    else {
      alert(this.responseText);
    }
  }
};
xhr.send("{\n   \"client_id\": \"CLIENT ID\",\n   \"client_secret\": \"CLIENT SECRET KEY\",\n   \"grant_type\": \"client_credentials\"\n}");

响应如下(JSON格式)

{
"access_token": "DUGKea0thVDL2muWzMAd7mYlkni46cJWhiX9tGTF"
"token_type": "bearer"
}

我怎样才能摆脱除访问令牌响应之外的所有内容,以便它为我提供以下信息:DUGKea0thVDL2muWzMAd7mYlkni46cJWhiX9tGTF 在变量中。

抱歉,我以警报格式发布响应,因为我想实时查看它是什么。

【问题讨论】:

    标签: jquery json api token


    【解决方案1】:

    如果返回的响应是 JSON(看起来是),那么您可以获取 access_token 的值并将其存储在如下变量中:

    var token = this.responseText.access_token;
    

    如果响应是字符串,则可以将 JSON 字符串转换为对象,然后获取所需的属性:

    var response = JSON.parse(this.responseText);
    response.access_token ; // DUGKea0thVDL2muWzMAd7mYlkni46cJWhiX9tGTF
    

    【讨论】:

    • 我尝试将此作为测试this.responseText.access_token,但我不断收到undefined 消息。
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多