代码之家  ›  专栏  ›  技术社区  ›  Erik

如何从XMLHttpRequest在javascript中解析该值并将其用作变量?

  •  2
  • Erik  · 技术社区  · 7 年前

    我正在开发一个chrome扩展,它可以从google sheets电子表格中获取一些变量。我最终正确地获得了api设置,并且可以成功地从电子表格中的单元格中查询第一个变量的数据。我的问题是我不熟悉数据的格式。

    以下是我查询谷歌电子表格的代码:

    var xhr = new XMLHttpRequest();
    xhr.open("GET", "https://sheets.googleapis.com/v4/spreadsheets/*spreadsheetID*/values/A2?key=*API Key*", false);
    xhr.send();
    var result = xhr.responseText;
    

    我收到的输出是:

    {
      "range": "Sheet1!A2",
      "majorDimension": "ROWS",
      "values": [
        [
          "https://www.access.com/home/"
        ]
      ]
    }

    URL https://www.access.com/home 是我试图从电子表格中解析的内容。如果我更改代码来解析json中的responseText,我可以获得range的值,而不是“values”数据来获得URL:

    var xhr = new XMLHttpRequest();
        xhr.open("GET", "https://sheets.googleapis.com/v4/spreadsheets/*spreadsheetID*/values/A2?key=*API Key*", false);
        xhr.send();
        var result = JSON.parse(xhr.responseText);
        var data = result.range;
    

    我做错了什么?如何正确解析URL?

    *当岗位位于 Access / process (nested) objects, arrays or JSON 在解释如何访问命名的嵌套对象方面做得很好,我无法理解如何访问对象中的嵌套数组,因为它没有名称。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Chris Riebschlager    7 年前

    var data = result.values[0][0];