【问题标题】:How to get JSON data for any website to parse and use in my android native app如何获取任何网站的 JSON 数据以在我的 android 本机应用程序中解析和使用
【发布时间】:2016-11-01 19:17:41
【问题描述】:

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

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

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

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

提前感谢您的帮助!

【问题讨论】:

  • 任何网站是什么意思?您正在为什么构建您的应用程序以及您想要为哪个网站提供数据?一些公司提供公共 API,这些 API 反过来返回 json 数据,每个 API 的使用方式各不相同,例如 oauth2 等身份验证。
  • 我问这个只是为了清楚地了解它目前在概念上是如何工作的,以及一个有抱负的 android 开发人员。 2 情景可以考虑。假设我将工作的公司正在使用 Spring MVC 开发一个 Web 应用程序。他们还希望为该网站开发一个定制的 android 原生应用程序。我被聘为 android 开发人员并被要求完成这项工作。团队中还有其他 Web 应用程序开发人员。对于
  • 我问这个只是为了清楚地了解它在概念上的工作原理以及一个有抱负的 android 开发人员。假设我将工作的公司正在使用 Spring MVC 开发一个 Web 应用程序。他们还希望为该网站开发一个定制的 android 原生应用程序。我被聘为 android 开发人员并被要求完成这项工作。团队中还有其他 Web 应用程序开发人员。如何获取要在我的 andr 应用程序中使用的数据。我应该向开发人员询问信息,还是我应该知道一些事情来完成工作,而无需与开发人员沟通?
  • 是的,无论技术堆栈如何,通常都会为您提供后端的 api。一家好的公司会有一些内部文档和如何使用它的示例。希望您在集成时可以与 api 团队密切合作。沟通是一件好事,我在 api 上工作,应用程序开发人员就坐在我面前,可以互相交谈,实际上是鼓励 :)
  • 太棒了!谢谢你。这就是我想知道的。

标签: java android angularjs json spring-mvc


【解决方案1】:

让我回答你的问题,尽管它们有点含糊。

我的理解正确吗?

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

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

当然,如果你认识开发者,你应该问他。大多数拥有开放 API 的流行网站都有一些关于他们的 JSON 响应的文档。一个很好的例子是查看reddit's API,您可以通过在任何网址的末尾附加/.json 来获取任何页面作为JSON 响应。如果您想练习解析 json 和发送 http 请求,这可能会很有用。我建议为此使用OkHttp library

如果开发人员必须提供 JSON 信息,我应该具体要求什么?以及开发商会为我提供什么?

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

这意味着您的请求应该具有哪些参数(最好的例子是如果站点使用身份验证,它是否使用oauth 或其他东西,您是否需要首先log in 并按原样获取access_token通常是一个案例)。这可能会因您要获取的内容而有很大差异,有些请求是 POST,有些是 GET,甚至可能不需要任何其他参数等。

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

{ 
   [ {"id" : "1",
    "manufacturer" : "bmw",
    "model" : "320d"},
    {"id" : "1",
    "manufacturer" : "audi",
    "model" : "A6"}
   ]
}

这纯粹是为了演示目的。 JSON 的复杂程度可能是任意的,您可以根据需要对其进行解析,您可能只想使用其中包含的一些数据。关于json解析的话题有很多问题,我就不多说了。

我希望这对您有所帮助,如果您想制作自己的 API,有很多方法可以做到这一点,您还可以找到很多关于这个主题的教程。我已经在 Laravel 和 Symfony PHP 框架中做到了这一点,让我告诉你,一点也不难。您需要做的就是始终返回JSON,基本上就是这样。

【讨论】:

  • 太棒了!谢谢,我想我得到了答案。
  • 我正在按顺序阅读并感谢你们!点赞你的答案!再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
相关资源
最近更新 更多