如何遍历 json 响应?

2023-12-30

我有这个 json 响应,我正在尝试遍历它以获取天气条件,例如“湿度”和“温度 C”等。我尝试了一些方法但没有成功。

({ "data" : { "current_condition" : [ { "cloudcover" : "50",
            "humidity" : "44",
            "observation_time" : "12:10 AM",
            "precipMM" : "0.0",
            "pressure" : "1013",
            "temp_C" : "-2",
            "temp_F" : "29",
            "visibility" : "16",
            "weatherCode" : "116",
            "weatherDesc" : [ { "value" : "Partly Cloudy" } ],
            "weatherIconUrl" : [ { "value" : "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0004_black_low_cloud.png" } ],
            "winddir16Point" : "W",
            "winddirDegree" : "280",
            "windspeedKmph" : "24",
            "windspeedMiles" : "15"
          } ],
      "request" : [ { "query" : "Rochester, United States Of America",
            "type" : "City"
          } ],
      "weather" : [ { "date" : "2012-02-25",
            "precipMM" : "2.2",
            "tempMaxC" : "-1",
            "tempMaxF" : "31",
            "tempMinC" : "-5",
            "tempMinF" : "24",
            "weatherCode" : "116",
            "weatherDesc" : [ { "value" : "Partly Cloudy" } ],
            "weatherIconUrl" : [ { "value" : "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0002_sunny_intervals.png" } ],
            "winddir16Point" : "W",
            "winddirDegree" : "281",
            "winddirection" : "W",
            "windspeedKmph" : "54",
            "windspeedMiles" : "34"
          } ]
    } })

我尝试过这些:

$.getJSON(urlFromMyAPI, function (data) {
    alert(data.current_condition.temp_C);
    alert(data.temp_C);
    alert(data[current_condition].temp_C);
    // I also use loop
    for (i = 0; i <= 3; i++) {
        alert(data.current_condition[i])
    }
});
};

我认为你的主要问题是你的数据嵌套在一个名为data所以你需要额外的参考才能进入其中。当您像这样设置响应格式时,也可以更容易地看到您所得到的内容,这样您就可以更清楚地看到嵌套的对象和数组:

({ "data": { 
    "current_condition": [ 
        {
            "cloudcover": "50", 
            "humidity": "44", 
            "observation_time": "12:10 AM", 
            "precipMM": "0.0", 
            "pressure": "1013", 
            "temp_C": "-2", 
            "temp_F": "29", 
            "visibility": "16", 
            "weatherCode": "116",  
            "weatherDesc": [ 
                {"value": "Partly Cloudy" } 
            ],  
            "weatherIconUrl": [ 
                {"value": "http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0004_black_low_cloud.png" } 
            ], 
            "winddir16Point": "W", 
            "winddirDegree": "280", 
            "windspeedKmph": "24", 
            "windspeedMiles": "15" 
        } 
    ],  
    "request": [ 
        {"query": "Rochester, United States Of America", "type": "City" } 
    ],  
    "weather": [
        {
            "date": "2012-02-25", 
            "precipMM": "2.2", 
            "tempMaxC": "-1", 
            "tempMaxF": "31", 
            "tempMinC": "-5", 
            "tempMinF": "24", 
            "weatherCode": "116",  
            "weatherDesc": [ 
                {"value": "Partly Cloudy" } 
            ],  
            "weatherIconUrl": [
                {"value": "http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png" } 
            ], 
            "winddir16Point": "W", 
            "winddirDegree": "281", 
            "winddirection": "W", 
            "windspeedKmph": "54", 
            "windspeedMiles": "34" 
        } 
    ] 
}
})

也就是说,如果你想得到当前的情况temp_C,它会是这样的(注意我更改了匿名函数的参数名称以使代码不那么混乱):

$.getJSON( urlFromMyAPI, function(response){
    var temp = response.data.current_condition[0].temp_C;
});

如果您希望温度为数字,您可能需要这样做:

$.getJSON( urlFromMyAPI, function(response){
    var temp = parseInt(response.data.current_condition[0].temp_C, 10);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何遍历 json 响应? 的相关文章

  • jQuery 中的 $('') 与 $('')

    我看到人们以两种不同的方式在 jQuery 中创建 HTML 元素
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • jQuery 悬停时滚动到 div 并返回到第一个元素

    我基本上有一个具有设定尺寸的 div 和overflow hidden 该 div 包含 7 个子 div 但一次只显示一个 我希望当它们各自的链接悬停时能够平滑地垂直滚动 但是 第一部分 div 没有链接 并且是没有悬停链接时的默认部分
  • 搜索多维数组 JavaScript

    我有一个如下所示的数组 selected products 0 r1 7up 61 Albertsons selected products 1 r3 Arrowhead 78 Arrowhead selected products 2 r
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item
  • Javascript 在没有 id 的情况下取消标记跨度

    是否可以找到并取消标记字符串中没有 id 的跨度 我有一个文本 其中有一堆跨度 其中一些有 id 另一些则没有 Input span Hi there span span This is a test span Output Hi ther
  • 如何在Rails中使用jquery tokeninput?

    我正在尝试在我的应用程序的表单中添加 tokeninput jquery 字段 该字段允许用户发布状态更新 我希望用户能够将作品 单独的模型 附加到状态更新中 我正在使用 act as taggable on gem 并且我的查询指定标签上
  • 如何在jqplot中显示饼图之外的标签?

    Jqplot 有如下图表 jqplot 图表 http www jqplot com tests pie donut charts php 我的问题是如何在 a 之外显示标签jqplot chart像下面这样high chart 高图表可以
  • 如何在 Swift 3 中解析 JSON 数组 [重复]

    这个问题在这里已经有答案了 我从 Socket 获取了一些我想访问的数据 但收到错误消息 指出每次都无法将 NSArray 转换为 NSDictionary struct SocketEventHandler let event Strin
  • Jquery:将链接标记为已访问而不打开它们?

    我无意仅仅更改链接 我听说这是不可能的 但如果不是 我很想知道如何更改 如果需要的话 我可以将其添加到浏览器历史记录中 我想遍历所有 a 位于页面上并将其状态更改为已访问 例如 a each function mark as visited
  • 在 HTML5 中创建可拖动和可缩放的网格

    与其他 HTML5 不同如何创建网格问题 我想知道如何制作一个可拖动且可扩展的 绘制网格非常简单 var c document getElementById canvas var ctx c getContext 2d var width
  • 有没有办法以编程方式访问 Google 的搜索引擎结果? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 谷歌是否提供了一种以编程方式查看特定查询的搜索引擎结果的方法 我想构建一个跟踪应用程序 以便用户可以看
  • 无法将数据加载到 mvc 4 中的 jTable 中

    好的 我第一次尝试 jTable 我可以加载表 但这对我没有什么好处 因为它不会加载我的任何数据 当我调试程序时 我想要的表中的所有行都存储在我的列表中 因此我很困惑为什么当我运行应用程序时会弹出一个对话框 显示 与服务器通信时发生错误 H
  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • 使用 json_encode() 函数在 PHP 数组中生成 JSON 键值对

    我正在尝试以特定语法获取 JSON 输出 这是我的代码 ss array 1 jpg 2 jpg dates array eu gt 59 99 us gt 39 99 array1 array name gt game1 publishe
  • Hive:如何分解嵌入 CSV 文件中的 JSON 列?

    从 CSV 文件 带有标题和管道分隔符 中 我得到了以下两个内容 其中包含一个 JSON 列 内部有一个集合 如下所示 第一种情况 使用没有名称的 JSON 集合 ProductId IngestTime ProductOrders 918
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编

随机推荐

  • OBJFILELOADER - pygame

    所以我尝试跑步the code https www pygame org wiki OBJFileLoader但它给出了列表超出索引范围错误 我将索引从 1 更改为 0 但屏幕只弹出黑色 我怎样才能改变代码以使其工作 您只需将 obj 文件
  • 提取 Firebase / BigQuery DAU、WAU 和 MAU

    我不想让这个问题变得过于复杂 所以我会尽量问得尽可能清楚 以避免混淆 我需要的结果是双重的 我想要 在 a Google Analytics 以及 b Firebase Analytics 中确定移动应用的 DAU WAU 和 MAU 我想
  • Realm Swift 仅在本地使用,但它仍然尝试在线连接

    我正在关注Realm Swift 入门指南在这里 https realm io docs swift latest 并且工作正常 我有以下对象 class Dog Object dynamic var name dynamic var ag
  • 为什么下面的 Scala 函数被称为闭包?

    对于以下问题 http pastie org 4825115 http pastie org 4825115 这是我的代码 http pastie org private n22zohyshn2ymqrbrb3g http pastie o
  • 如何在 Android 应用程序中运行 shell 脚本?

    我正在尝试为 root 用户编写一个 android 应用程序 该应用程序运行一系列 shell 命令 或者一个 shell 脚本 如果更好的话 并显示输出 任何人都可以指出我正确的方向吗 此代码片段需要 root 访问权限 但会将给定的字
  • Excel VBA 根据单元格值将特定工作表导出为 PDF

    我想使用单元格值Sheet 4选择并导出Sheet 1 Sheet 2 and Sheet 3作为一个 PDF 文件 例如 如果第 4 页A1 1 A2 1 A3 0 则打印Sheet 1 and Sheet 2 但不是Sheet 3 我尝
  • Postgresql 中的奇怪行为

    我是 Postgresql 新手 我正在尝试从 MySQL 迁移我的应用程序 我有一个具有以下结构的表 Table public tbl point Column Type Modifiers Storage Description Tag
  • int** 和 const int** 可以使用别名吗?

    据我了解 这样的事情是可以的 const int ci 42 const int cip ci int ip int cip int j ip 那这个呢 const int ci 42 const int cip ci const int
  • 如何准备 Word 2007 文档以便 C# 可以从语义上提取数据?

    我有一个朋友正在写一篇400页书在 Microsoft Word 2007 中 在整本书中他都200 个故事每个都由许多段落组成 当他写完这本书后 他想将嵌入 Word 文档中的每个故事的文本复制到一个数据库表例如 Title varcha
  • 如何有条件地显示 ASP.NET MVC Razor 中的字段?

    我对 C 和 ASP NET MVC Razor 非常陌生 如果该字段不为空 我想在我的视图中显示该字段 Code tr class hide td class editor label Html LabelFor model gt mod
  • 如何使用mysql全文获取连续单词的频率

    我有一个MyISAM表包含超过 200 万条记录 其中有一个FULLTEXT多列索引 给定一个搜索词 我想知道多少次它出现在每个记录的索引字段中 例如 当搜索 test 在下表中 其中有一个FULLTEXT两者的索引FREETEXT and
  • 显示第一类类型

    我有一个项目列表 每个项目都有一个类 并且该类在整个过程中重复 我只想显示每个类的第一个实例 只用 CSS 就可以实现吗 ul li class red red li li class red red li li class blue bl
  • 读取和解析大型 XML 文件的性能问题

    我有一个目录 其中包含几个大型 XML 文件 总大小约为 10 GB 有没有办法遍历包含 XML 文件的目录并读取 50 字节乘 50 字节并以高性能解析 XML 文件 func mdc Mdc Loadxml path string wg
  • 如何更改 R 中的时间序列(XTS 或 ZOO)?

    我是 stackoverflow 的新手 对 R 也相当陌生 但经过长时间的艰苦搜索 找不到以下问题的答案 我有许多数据文件 它们是温度与时间序列的关系 我将 CSV 作为 ZOO 对象导入 然后转换为 XTS 正确的文件如下所示 其中包含
  • 在 Protractor / E2E 测试中访问 $http 数据 (AngularJS)

    我有一堆进展顺利的单元测试 并且我已经开始将 Protractor E2E 测试添加到我的项目中 我在页面上测试交互元素做得很好 但在测试从浏览器发送的某些数据时遇到问题 例如 我想看看点击某个按钮是否会产生一个POST到某个端点 我使用以
  • 如何删除 BottomBar jetpack compose 中选定的椭圆形项目颜色

    我想删除所选项目后面的蓝色椭圆形颜色 我怎样才能做到这一点 NavigationBarItem selected selected onClick onClick icon if selected selectedIcon else ico
  • 如何使用具有 2 个或更多根的 try_files

    我看了一遍又一遍 发现没有这样的实现 我想知道我正在尝试的是否可能 我有 3 个提供静态内容的相对路径 Path1 usr local www style1 static Path2 usr local www style2 static
  • 视图控制器调用 awakeFromNib 两次

    我面临着这个奇怪的问题 我不确定我哪里出了问题 情况 我有一个 MainWindowController 类 它将加载要显示的正确笔尖 我创建了一个对象并将其更改为 IB 中的 MainWindowController 类 并将其与 Mai
  • 如何在 Keras 中找到错误的预测?

    我构建了一个 Keras 模型 用于从文本输入的原始输入中提取信息 我得到的准确度为 0 9869 我如何知道哪些训练数据导致准确性降低 我已将我正在使用的代码粘贴在下面 import numpy as np from keras mode
  • 如何遍历 json 响应?

    我有这个 json 响应 我正在尝试遍历它以获取天气条件 例如 湿度 和 温度 C 等 我尝试了一些方法但没有成功 data current condition cloudcover 50 humidity 44 observation t