【问题标题】:How to change a JSON value from String to int?如何将 JSON 值从 String 更改为 int?
【发布时间】:2020-10-17 09:17:14
【问题描述】:

尝试从这里提取 JSON 值: https://covid-19api.com/api/all-today

但是,第一项被转换为字符串而不是 int。到目前为止,这是我的测试代码,我不确定如何将项目转换为 int 而不是字符串。

var requestOptions = {
  method: 'GET',
  redirect: 'follow'
};

fetch("https://covid-19api.com/api/all-today", requestOptions)
  .then(response => response.json())
  .then(result => {
    let nconf = result.confirmed;
    document.getElementById('nconf').innerHTML = nconf.toLocaleString('en');
    
    let ndeath = result.deaths;
    document.getElementById('ndeath').innerHTML = ndeath.toLocaleString('en');
    
    let nrecov = result.recovered;
    document.getElementById('nrecov').innerHTML = nrecov.toLocaleString('en');
  })
  .catch(error => console.log('error', error));

【问题讨论】:

  • let nrecov = parseInt(result.recovered) ?
  • +1 到@ABGR。我只需添加基数(parseInt 的数学基础和第二个参数)let nrecov = parseInt(result.recovered, 10)
  • @ABGR 不要忘记基数????
  • 试试let nconf = +result.confirmed;
  • @ABGR 我猜他可以利用 Number.prototype.toLocaleString() developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

标签: javascript json api casting int


【解决方案1】:

您可以只使用parseInt 将字符串转换为int

 let nrecov = parseInt(result.recovered, 10)

【讨论】:

    【解决方案2】:

    这是一个完整的解决方案。 API 返回 deaths 和 recovered 作为整数而不是 confirmed 大声笑¯|_(ツ)_/¯

    似乎很奇怪
    <!DOCTYPE html>
    <html lang="en">
      <body>
        <p id="nconf"></p>
        <p id="ndeath"></p>
        <p id="nrecov"></p>
      </body>
      <script>
        var requestOptions = {
          method: "GET",
          redirect: "follow",
        };
    
        fetch("https://covid-19api.com/api/all-today", requestOptions)
          .then((response) => response.json())
          .then((result) => {
            console.log("result", result);
            let nconf = parseInt(result.confirmed, 10);
            document.getElementById("nconf").innerHTML = nconf.toLocaleString("en");
    
            let ndeath = result.deaths;
            document.getElementById("ndeath").innerHTML = ndeath.toLocaleString(
              "en"
            );
    
            let nrecov = result.recovered;
            document.getElementById("nrecov").innerHTML = nrecov.toLocaleString(
              "en"
            );
          })
          .catch((error) => console.log("error", error));
      </script>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-16
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多