我的理解是,作为一名Android开发人员,为了使用Spring MVC或PHP或Angular JS构建的现有Web应用程序开发本机Android应用程序,我需要以JSON格式访问数据并在我的Android应用程序中使用需要。为此,我不必了解用于构建网站的Web框架。
我的理解是否正确?如果不是,请纠正我的理解。
如果是,我应该问开发人员(或)在某个地方(已发布使用)找到该信息,以了解如何访问其网站的json数据并在我的代码中使用它? (或)我还需要做些什么吗?
如果开发者必须提供JSON信息,我应该具体要求什么?开发者会给我什么?
提前感谢您的帮助!
答案 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
,基本上就是这样。