有这个网站http://www.ingress.com/intel
要访问该网站,我们必须使用用户名和密码登录。
访问后,该网站会使用JSON作为其数据。
我是JSON的新手。
任何人都可以举例说明如何使用Delphi从网站获取JSON数据?
我顺便使用Delphi 7。
感谢。
答案 0 :(得分:9)
这是两个问题。
对于第一个问题,有很多库,其中一些:
InternetReadFile
http://msdn.microsoft.com/en-us/library/windows/desktop/aa385103.aspx 例如,这是从互联网上获取文件的示例:http://synapse.ararat.cz/doku.php/public:howto:httpgetpage
或者是另一个lib的演示(实际上每个lib都有它们,从HTTP加载文件是如此常见的任务......):
对于JSON解析器,从net下载内容后,这是一个较窄的选择: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
上搜索更多图书馆答案 1 :(得分:2)
我怀疑从Delphi应用程序登录这个特定的网站会非常困难。
您需要通过 Google帐户进行登录,并按预期处理Cookie。
因此,我担心您将无法使用任何直接的Indy / Synapse / ICS / WinINet库来访问数据。
您可能需要在应用程序中嵌入一个完整的浏览器,然后从JavaScript的角度访问内容,从您的应用程序远程浏览浏览器。
看一下这些组件:
TWebBrowser
(即Internet Explorer); 然后你将不得不解析JSON内容。但您必须首先确保您可以登录该应用程序!