使用Delphi从网站获取JSON数据

Kaw*_*hii 0 delphi json http delphi-7 http-authentication

有这个网站http://www.ingress.com/intel

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

访问后,该站点使用JSON作为其数据.

我是JSON的新手.

任何人都可以举例说明如何使用Delphi从网站获取JSON数据?

我顺便使用Delphi 7.

谢谢.

Ari*_*The 9

这是两个问题.

  1. 如何从HTTP服务器获取文件
  2. 如何解析JSON字符串

对于第一个问题,有很多库,其中一些:

  1. Internet Direct又名Indy套接字(随Delphi和http://www.indyproject.org/一起发布)
  2. Internet组件套件又名ICS http://www.overbyte.be
  3. ararat Synapse http://synapse.ararat.cz/
  4. UrlListGrabber来自JEDI VCL http://jvcl.sf.net
  5. Windows InternetReadFile http://msdn.microsoft.com/en-us/library/windows/desktop/aa385103.aspx
  6. ......还有更多.

例如,这是从互联网获取文件的示例:http://synapse.ararat.cz/doku.php/public : howto:http:Page

或者另一个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上搜索更多图书馆