有这个网站http://www.ingress.com/intel
要访问该网站,我们必须使用用户名和密码登录。
访问后,该站点将使用 JSON 作为其数据。
我是这个 JSON 的新手。
任何人都可以给出一个通用示例,如何使用 Delphi 从网站获取 JSON 数据?
顺便说一句,我正在使用 Delphi 7。
谢谢。
有这个网站http://www.ingress.com/intel
要访问该网站,我们必须使用用户名和密码登录。
访问后,该站点将使用 JSON 作为其数据。
我是这个 JSON 的新手。
任何人都可以给出一个通用示例,如何使用 Delphi 从网站获取 JSON 数据?
顺便说一句,我正在使用 Delphi 7。
谢谢。
这是两个问题。
对于第一个问题,有很多图书馆,其中一些:
InternetReadFile
http://msdn.microsoft.com/en-us/library/windows/desktop/aa385103.aspx例如,这是从 Internet 获取文件的示例:http://synapse.ararat.cz/doku.php/public:howto: httpgetpage
或者另一个库的演示(实际上每个库都有它们,从 HTTP 加载文件是如此常见的任务......):
至于 JSON 解析器,在你从网上下载内容后,这是一个更窄的选择:JSON 是一个相对较新的趋势,许多 JSON 解析器大量使用 Delphi 2009+ 的功能
我个人认为你最好尝试使用来自 mORMot 项目的 JSON 解析器. 该项目也有 HTTP 层,所以也许您也可以使用他们的代码通过 HTTP 读取文件。
有例子或解析JSON字符串:
更多信息请访问http://synopse.info/和http://blog.synopse.info/tag/JSON
他们还有响应社区的论坛。
SuperObject,虽然最初是围绕泛型构建的(自 Delphi 2010 起实际工作),但也具有 Delphi 7 兼容性,尽管它的某些功能不起作用。请参阅http://code.google.com/p/superobject/wiki/first_steps
你总是可以在http://www.torry.net上搜索更多的库
我怀疑从 Delphi 应用程序登录这个特定网站会非常困难。
您将需要通过Google 帐户登录,并按预期处理 cookie。
因此,恐怕您将无法使用任何直接的 Indy / Synapse / ICS / WinINet 库来访问数据。
您可能需要在应用程序中嵌入一个完整的浏览器,然后从 JavaScript 的角度访问内容,从您的应用程序远程处理浏览器。
看看这些组件:
TWebBrowser
(即 Internet Explorer)在 Delphi 中可用;然后你必须解析 JSON 内容。但是您必须首先确保您可以登录应用程序!