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

时间:2020-06-19 17:47:53

标签: javascript json pretty-print

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;
}

1 个答案:

答案 0 :(得分:1)

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

在您的情况下,您从服务器获取的数据result已经是string,因此您无需对其进行“字符串化”。

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