【问题标题】:(C++) Using the weather API(C++) 使用天气 API
【发布时间】:2018-03-12 00:09:43
【问题描述】:

我目前正在尝试使用 C++ 在我的 Raspberry Pi 3 上显示天气预报。我试图到处寻找帮助,但我找不到任何帮助。

所以目前,我正在尝试使用这个 API https://openweathermap.org/forecast5

在这个网站上,它声明:

预测以 JSON 或 XML 格式提供。

但是,我不确定如何使用它。有人可以告诉我如何在我的 Raspberry Pi 3 上将它与 C++ 一起使用吗?提前致谢。

【问题讨论】:

  • 您需要连接到他们的服务器并使用 HTTP 协议发送请求,指定支持的 URL 之一,然后服务器将发送包含您需要解析以提取请求数据的 JSON 或 XML 文档的响应。
  • @VTT 对不起,但我不明白你的意思,因为我是菜鸟。您能否再解释一下。谢谢
  • 那么你需要跳出noob类别:阅读一些C++ books,学习一般的网络,特别是HTTP协议,检查JSON和XML格式规范以找出如何处理它们。如果您只是需要让它以某种方式工作,那么您可能需要使用一些对菜鸟友好的语言,例如 javascript 或 go。

标签: c++ json xml raspberry-pi openweathermap


【解决方案1】:

如果您打算在 C++ 中执行此操作,那么您至少需要弄清楚三件事:

  • 制作和处理 HTTP 请求
  • 将返回的 XML 或 JSON 解析为您的程序可以输出的内容
  • 格式化和显示输出(控制台?GUI?LCD 显示器...?)

你真的,真的不想自己从头开始实施很多这些,除非你手头有无限的时间。有用于发出 HTTP 请求的库(例如 libcurl),以及用于解析 XML 和 JSON 的库(libxml2 等)。当然,您为显示做什么取决于您打算如何实现显示。

所以我建议第一步是看一些与 libcurl 和 libxml2 一起工作的简单演示程序,并弄清楚这些库是如何工作的。

FWIW 我有一些代码可以满足您的需求,这些代码基于 BBC UK 的天气信息,我很乐意分享。但它是 4,000 多行 C 语言;虽然我并没有声称自己是最高效的程序员,但这应该可以让您了解应用程序的重要性,即使库承担了大部分繁重的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 2013-07-06
    相关资源
    最近更新 更多