如何获取任何网站的JSON数据来解析和使用我的Android原生应用程序

时间:2016-06-29 21:38:14

标签: java android angularjs json spring-mvc

我的理解是,作为一名Android开发人员,为了使用Spring MVC或PHP或Angular JS构建的现有Web应用程序开发本机Android应用程序,我需要以JSON格式访问数据并在我的Android应用程序中使用需要。为此,我不必了解用于构建网站的Web框架。

  1. 我的理解是否正确?如果不是,请纠正我的理解。

  2. 如果是,我应该问开发人员(或)在某个地方(已发布使用)找到该信息,以了解如何访问其网站的json数据并在我的代码中使用它? (或)我还需要做些什么吗?

  3. 如果开发者必须提供JSON信息,我应该具体要求什么?开发者会给我什么?

  4. 提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

让我回答你的问题,即使它们有点模糊。

  

我的理解是否正确?

是的,您可以根据需要对Web API进行Http调用并获取并解析JSON响应。

  

如果是,我是否应该问开发人员(或)在某个地方(发布使用)找到该信息以了解如何访问其网站的json数据并在我的代码中使用它? (或)还有什么我需要做的吗?

当然,如果你了解开发者,你应该问他。大多数拥有开放API的热门网站都有关于其JSON响应的某种文档。一个很好的例子是查看reddit's API,只需在任何网址的末尾添加JSON,就可以将任意页面作为/.json响应。如果您想练习解析json并发送http请求,这可能会很有用。我建议您使用OkHttp library

  

如果开发者必须提供JSON的信息,我应该具体要求什么?开发者会给我什么?

这个问题我觉得最难回答,因为它有点模糊。你问你需要什么,你需要发送什么请求才能得到它。

这意味着您的请求应该包含哪些参数(最好的示例是如果网站使用身份验证,是否使用oauth或其他内容,您是否需要先log in并获取{ {1}}通常是一个案例)。这可能会有很大差异,具体取决于您尝试获取的内容,有些请求为access_token,有些请求为POST,甚至可能不需要任何其他参数等。

例如,如果您想获得一个列表,例如,来自网站的所有汽车,您可以询问或搜索返回GET辆汽车的路线,并且您可以大概想要发送一个JSONArray请求到该路由(GET参数,如果他们使用access_token,只是一个例子)并且你会收到一个响应,可能看起来像这样:

oauth

这纯粹是出于示范目的。 { [ {"id" : "1", "manufacturer" : "bmw", "model" : "320d"}, {"id" : "1", "manufacturer" : "audi", "model" : "A6"} ] } 可能是任意或多或少的复杂,您可以根据需要解析它,您可能只想使用其中包含的一些数据。关于JSON解析的主题有很多问题,所以我不会再进一步​​了解。

我希望这对您有所帮助,如果您正在寻找自己的API,有很多方法可以做到这一点,您还可以找到很多有关此主题的教程。我已经在Laravel和Symfony PHP框架中完成了这个,让我告诉你,它根本不是那么难。您需要做的就是返回json,基本上就是这样。