Javascript 漂亮的打印格式给出了错误的结果

Javascript Pretty Print Format is giving wrong result

function output(inp) {
      document.body.appendChild(document.createElement('pre')).innerHTML = inp;
  }


  function searchInGitRepo(str) {
    const http = new XMLHttpRequest();
    http.open("GET", "https://api.github.com/search/repositories?q=" + str);
    http.send();
    http.onload = () => {
      var result = http.responseText;
      var strformat = JSON.stringify(result, undefined, 4);
      output(strformat);
    }
  }

  var result = searchInGitRepo('ecommerce');

我想从 github 个存储库中获取数据。结果完美,但数据未格式化。请看看我的代码。它应该工作。我遵循了许多解决方案。什么都不适合我!

function searchInGitRepo(str) {
    const http = new XMLHttpRequest();
    http.open("GET", "https://api.github.com/search/repositories?q=" + str);
    http.send();
    http.onload = () => {
      var result = http.responseText;
      var strformat = JSON.stringify(result, undefined, 4);
      output(strformat);
    }
}

输出函数:

function output(inp) {
      document.body.appendChild(document.createElement('pre')).innerHTML = inp;
}

JSON.stringify()用于将对象转换成字符串。它通常在向 Web 服务器发送数据时使用,因为这些数据必须是字符串。

在您的情况下,您从服务器返回的数据 result 已经 string,因此您不需要 "stringify" 它。

使用output(result);代替output(strformat);