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

  • 我的理解正确吗?如果不是,请纠正我的理解。
  • 如果是,我是否应该只询问开发人员(或)在某个地方(发布以供使用)找到该信息以了解如何访问其网站的 json 数据并在我的代码中使用它? (或)还有什么我需要做的吗?
  • 如果开发人员必须提供 JSON 信息,我应该特别要求什么?开发商会为我提供什么?

  • 提前感谢您的帮助!

    最佳答案

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



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



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



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

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

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

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

    这纯粹是为了演示目的。 JSON 可能或多或少任意复杂,您可以根据需要对其进行解析,您可能只想使用其中包含的一些数据。关于 json 解析的主题有很多问题,所以我不会进一步讨论。

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

    关于java - 如何获取任何网站的 JSON 数据以在我的 android 原生应用程序中解析和使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38110481/

    10-12 00:31
    查看更多