使用Delphi从网站获取JSON数据

使用Delphi从网站获取JSON数据,json,delphi,http,delphi-7,http-authentication,Json,Delphi,Http,Delphi 7,Http Authentication,有这个网站 要访问该网站,我们必须使用用户名和密码登录 一旦被访问,该站点将使用JSON作为其数据 我对这件事还不熟悉 任何人都可以给出一个使用Delphi从网站获取JSON数据的通用示例 顺便说一下,我正在使用Delphi7 谢谢。这是两个问题 如何从HTTP服务器获取文件 如何解析JSON字符串 对于第一个问题,有很多图书馆,其中一些: Internet Direct又名Indy套接字(与Delphi和Windows一起分发) 因特网组件套件 阿拉特突触 来自绝地VCL的UrlListGra

有这个网站

要访问该网站,我们必须使用用户名和密码登录

一旦被访问,该站点将使用JSON作为其数据

我对这件事还不熟悉

任何人都可以给出一个使用Delphi从网站获取JSON数据的通用示例

顺便说一下,我正在使用Delphi7


谢谢。

这是两个问题

  • 如何从HTTP服务器获取文件
  • 如何解析JSON字符串
  • 对于第一个问题,有很多图书馆,其中一些:

  • Internet Direct又名Indy套接字(与Delphi和Windows一起分发)
  • 因特网组件套件
  • 阿拉特突触
  • 来自绝地VCL的UrlListGrabber
  • Windows
    InternetReadFile
  • …还有更多
  • 例如,这是从internet获取文件的示例:

    或者另一个库的演示(实际上每个库都有,从HTTP加载文件是非常常见的任务…):


    至于JSON解析器,在您从网络下载内容之后,这是一个更狭隘的选择:JSON是一个相对较新的趋势,许多JSON解析器大量使用Delphi 2009+的功能
    我个人认为您最好尝试使用mORMot项目的JSON解析器。 该项目也有HTTP层,所以您也可以使用它们的代码通过HTTP读取文件

    以下是解析JSON字符串的示例:

    更多信息请访问和

    他们还与响应社区建立了论坛

    SuperObject虽然最初是围绕泛型构建的(从Delphi 2010开始实际工作),但它也具有Delphi 7兼容性,尽管它的一些特性不起作用。看


    而且你总是可以在

    上搜索更多的库。我想从Delphi应用程序登录这个特定的网站是相当困难的

    您需要通过谷歌帐户登录,并按预期处理cookie

    因此,我担心您将无法使用任何直接的Indy/Synapse/ICS/WinINet库访问数据

    您可能需要在应用程序中嵌入完整的浏览器,然后从JavaScript的角度访问内容,从应用程序中远程访问浏览器

    看看这些组件:

    • TWebBrowser
      (即Internet Explorer),可在Delphi中获得

    然后必须解析JSON内容。但您必须首先确保您可以登录应用程序

    TIdHTTP.Get是您正在寻找的,关于JSON,将其视为一个“文本文件”,您需要了解如何进行“登录”(您需要点击的位置以及用户名和密码的参数名),在TIdHTTP中启用“保留cookies”,最后,只需点击将返回JSON“文件”的链接即可。可能重复@Arioch,根据我对代码的快速阅读,Superobject不需要泛型。如果可用,它将使用泛型和新的RTTI。是专门为Delphi 7兼容性而设计的。我自学了JSON如何与谷歌提供的所有漂亮的在线资源协同工作。@ComputerSaysNo感谢您的简单解释。这就是我要找的。因此,基本上,我可以简单地使用HTTPGET或POST,然后JSON数据将出现在接收到的“html源”中。好吧,我现在明白了:)这不是一个答案(:@computersays这不是最好的答案,因为“问题”也不是真正的问题。