新闻中心

使用 jQuery 从 JSON 文件中提取变量并求和

2025-10-31
浏览次数:
返回列表

使用 jquery 从 json 文件中提取变量并求和

本文档将指导你如何使用 jQuery 从 JSON 文件中提取数据,并将提取的数值变量进行求和,最终将结果展示在网页上。我们将通过一个实际案例,详细讲解代码实现,帮助你掌握这一实用技能。

从 JSON 文件中提取数据并动态更新表格

假设你有一个 JSON 文件,其中包含了 Str*a 活动的数据,你需要从该文件中提取最近 5 次活动的距离数据,并将这些距离数据相加,最终在网页表格中显示总距离。

核心代码实现

以下是使用 jQuery 实现该功能的代码示例:

function toTime(seconds) {
  var date = new Date(null);
  date.setSeconds(seconds);
  return date.toISOString().substr(11, 8);
}

$(function() {
  $.get('/running/str*a_activities.json', function(data) {
    console.log(data);

    let aggregate = 0; // 初始化总距离变量

    for (let i = 0; i < 5; i++) {
      $("#start_date_local_" + (i + 1)).html((data[i].start_date_local).slice(0, 10));
      $("#activity" + (i + 1) + "type").html(data[i].type);
      $("#activity" + (i + 1) + "name").html(data[i].name);
      $("#activity" + (i + 1) + "distance").html(((data[i].distance) / 1000).toFixed(3));
      $("#elevation" + (i + 1)).html(data[i].total_elevation_gain);
      $("#moving_time_" + (i + 1)).html(toTime(data[i].moving_time));

      if (data[i].distance > 0) {
        $("#time_km_" + (i + 1)).html(toTime(((data[i].moving_time) / ((data[i].distance) / 1000))).slice(3));
      }

      aggregate += Number(data[i].distance); // 累加距离
    }

    // 将总距离显示在页面上
    $("#activitytotaldistance").html((aggregate / 1000).toFixed(3));
  });
});

代码详解

  1. toTime(seconds) 函数: 该函数用于将秒数转换为 HH:MM:SS 格式的时间字符串。

  2. $(function() { ... });: 这是一个 jQuery 的简写方式,等同于 $(document).ready(function() { ... });,表示在文档加载完成后执行其中的代码。

  3. $.get('/running/str*a_activities.json', function(data) { ... });: 使用 jQuery 的 $.get() 方法从 /running/str*a_activities.json URL 获取 JSON 数据。当数据成功获取后,执行回调函数。

  4. let aggregate = 0;: 声明并初始化一个名为 aggregate 的变量,用于存储总距离。

    Shell脚本编写基础 中文WORD版 Shell脚本编写基础 中文WORD版

    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统

    Shell脚本编写基础 中文WORD版 25 查看详情 Shell脚本编写基础 中文WORD版
  5. for (let i = 0; i : 使用一个循环遍历 JSON 数据中的前 5 个活动。

  6. $("#start_date_local_" + (i + 1)).html((data[i].start_date_local).slice(0, 10));: 使用 jQuery 选择器根据 ID 找到对应的 HTML 元素,并使用 .html() 方法将 JSON 数据中的 start_date_local 属性值(截取前 10 个字符)设置为该元素的内容。 其他类似的行代码,用于将 JSON 数据中的其他属性值更新到对应的 HTML 元素中。

  7. aggregate += Number(data[i].distance);: 将当前活动的距离值累加到 aggregate 变量中。 Number() 函数用于将字符串转换为数字,确保可以正确进行加法运算。

  8. $("#activitytotaldistance").html((aggregate / 1000).toFixed(3));: 循环结束后,将计算得到的总距离(除以 1000 转换为公里,并保留 3 位小数)更新到 ID 为 activitytotaldistance 的 HTML 元素中。

HTML 结构

确保你的 HTML 结构中包含以下元素,以便代码可以正确地找到并更新数据:

<div class="str*a-widget">
  <table class="str*a-stats">
    <tr>
      <td class="heading" colspan="1">Date</td>
      <td class="heading" colspan="1">Type</td>
      <td class="heading" colspan="1">Title</td>
      <td class="heading" colspan="1">Distance</td>
      <td class="heading" colspan="1">Height Gain</td>
      <td class="heading" colspan="1">Moving Time</td>
      <td class="heading" colspan="1">Time/Km</td>
    </tr>
    <tr>
      <td><div id="start_date_local_1"></div></td>
      <td><div id="activity1type"></div></td>
      <td><div id="activity1name"></div></td>
      <td><div><span id="activity1distance"></span> Km</div></td>
      <td><div><span id="elevation1"></span>m</div></td>
      <td><div id="moving_time_1"></div></td>
      <td><div id="time_km_1"></div></td>
    </tr>
    <tr>
      <td><div id="start_date_local_2"></div></td>
      <td><div id="activity2type"></div></td>
      <td><div id="activity2name"></div></td>
      <td><div><span id="activity2distance"></span> Km</div></td>
      <td><div><span id="elevation2"></span>m</div></td>
      <td><div id="moving_time_2"></div></td>
      <td><div id="time_km_2"></div></td>
    </tr>
    <tr>
      <td><div id="start_date_local_3"></div></td>
      <td><div id="activity3type"></div></td>
      <td><div id="activity3name"></div></td>
      <td><div><span id="activity3distance"></span> Km</div></td>
      <td><div><span id="elevation3"></span>m</div></td>
      <td><div id="moving_time_3"></div></td>
      <td><div id="time_km_3"></div></td>
    </tr>
    <tr>
      <td><div id="start_date_local_4"></div></td>
      <td><div id="activity4type"></div></td>
      <td><div id="activity4name"></div></td>
      <td><div><span id="activity4distance"></span> Km</div></td>
      <td><div><span id="elevation4"></span>m</div></td>
      <td><div id="moving_time_4"></div></td>
      <td><div id="time_km_4"></div></td>
    </tr>
    <tr>
      <td><div id="start_date_local_5"></div></td>
      <td><div id="activity5type"></div></td>
      <td><div id="activity5name"></div></td>
      <td><div><span id="activity5distance"></span> Km</div></td>
      <td><div><span id="elevation5"></span>m</div></td>
      <td><div id="moving_time_5"></div></td>
      <td><div id="time_km_5"></div></td>
    </tr>
    <tr>
      <td><div>5-day totals</div></td>
      <td><div>-</div></td>
      <td><div>-</div></td>
      <td><div><span id="activitytotaldistance"></span>Km</div></td>
      <td><div><span id="totalelevation"></span>m</div></td>
      <td><div>-</div></td>
      <td><div>-</div></td>
    </tr>
  </table>
</div>

注意事项

  • 确保 jQuery 库已经正确引入到你的 HTML 文件中。
  • JSON 文件的 URL (/running/str*a_activities.json) 需要根据你的实际情况进行修改。
  • 如果 JSON 数据结构与示例代码中的结构不一致,你需要相应地修改代码以适应你的数据结构。
  • 错误处理:在实际应用中,应该添加错误处理机制,例如在 $.get() 方法的回调函数中检查请求是否成功,以及在数据处理过程中处理可能出现的异常情况。

总结

通过本文档,你学习了如何使用 jQuery 从 JSON 文件中提取数据,并将提取的数值变量进行求和,最终将结果动态地展示在网页上。 这个方法可以应用于各种需要从 JSON 数据源动态更新网页内容的场景。 记住,理解 JSON 数据结构和 jQuery 选择器的使用是关键。

以上就是使用 jQuery 从 JSON 文件中提取变量并求和的详细内容,更多请关注其它相关文章!


# 绑定  # 郑州百度seo优化技术网站推广  # 玉溪seo公司选择20火星  # 乐安网站seo推广  # 海淀做网站优化  # 微博营销不适宜推广什么  # 新津网站建设服务  # 江小白的营销推广方式  # 新疆网络推广网站有哪些  # 内蒙古视频号关键词排名  # 织金营销抖音推广怎么做  # 新到  # 输入框  # 如何使用  # jquery  # 文档  # 选择器  # 转换为  # 并将  # 回调  # 数据结构  # gate  # lsp  # ai  # 回调函数  # json  # js  # html 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 随机参数递归函数的基准调用次数与时间复杂度探究  Angular响应式表单:实现提交后表单及按钮的禁用与只读化  基于动态规划的房屋花卉种植最小成本算法详解  J*aScript设计模式实践_j*ascript代码优化  LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别  CSS Grid如何控制元素对齐_align-items与justify-items组合使用  MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具  妖精漫画网页版登录入口免费_妖精漫画官网主页直接阅读漫画  漫蛙2正版漫画站 漫蛙2网页版快速访问入口  J*aScript异步迭代器_j*ascript异步遍历  PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程  微信网页版登录教程_微信网页版登录入口在哪  百度浏览器字体显示异常偏小_百度浏览器字体渲染修复方案  谷歌邮箱注册显示错误Gmail服务器异常与延迟处理  QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址  UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS  漫蛙MANWA漫画主页官方入口 漫蛙漫画最新在线阅读地址  AO3官网镜像链接 Archive of Our Own同人文在线浏览  J*aScript生成器_j*ascript异步迭代  PHP中高效并行检查多链接状态的教程  机构:以往存储涨价周期小米利润率实际上有所改善 能转嫁给消费者等  小米汽车11月交付量突破40000台!雷军:将继续努力  新三国志曹操传110级星符试炼夏侯渊极难攻略  如何使 Jest 模拟函数默认抛出错误以提高测试效率  使用J*aScript检测输入元素是否包含在特定类中  Go语言中对Map值调用带指针接收者方法:原理与最佳实践  如何在 Excel Online 和 Google 表格中更改日期格式  Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项  漫蛙官网正版漫画入口 漫蛙2官方网页登录地址  Excel组合图表怎么做 Excel创建柱状图与折线组合图教程【图表】  千牛数据看板网页版_千牛数据看板网页版访问方法  火狐浏览器占用内存高卡顿怎么办 火狐浏览器性能优化设置技巧  mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析  php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】  优化Django表单:提交验证失败后保留用户输入  豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售  J*a递归快速排序中静态变量的状态管理与陷阱  HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全  在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析  Go语言中Map值调用指针接收器方法的限制与应对  J*aScript动态修改指定div内所有a标签样式指南  win11开机启动修复循环怎么办 Win11无法进入系统高级启动解决方法【修复】  支付宝如何管理隐私设置_支付宝隐私保护的配置技巧  C++如何实现异步操作_C++11使用std::future和std::async进行异步编程  Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】  Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐  高德地图沿途添加点失败如何解决 高德多点规划方法  包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  poki网页游戏推荐_poki免费游戏平台入口  腾讯视频怎么举报不良内容_腾讯视频内容举报流程与违规信息处理方法 

搜索