如何在 kotlin android 中使用 volley 获取 json
Posted
技术标签:
【中文标题】如何在 kotlin android 中使用 volley 获取 json【英文标题】:How to get a json with volley in koltin android 【发布时间】:2021-12-11 17:45:26 【问题描述】:我是 kotlin 的初学者。 我想从一个 url 获取我的 json 文件,但没有用。
类:我的请求
var json:JsonObject = JsonObject()
init
val queue = Volley.newRequestQueue(context)
val request = JsonObjectRequest(
Request.Method.GET, url, null,
response -> json
,
error ->
println(error)
)
queue.add(request)
queue.start()
类:数据库
val url: String = "http://...."
fun test()
var r: MyRequest = MyRequest(context, url)
println(r.json)
在这个例子中,我只想打印我的 json 但我有“”
谢谢你帮助我
【问题讨论】:
response -> json
这有什么作用吗? response -> foo = response
是您分配响应的方式
供您参考,“”实际上是有效的有效 json 响应。这是一个空的 json 对象。您确定您的网址实际上返回了其他内容吗?
@IvoBeckers 完整网址 -> os-vps418.infomaniak.ch:1186/i507_2_2/movie_db.json
@a_local_nobody 我尝试响应 -> json = response 但没有变化
我不确定您的代码是否同步,请尝试记录您的 response
变量以查看是否有效。如果它有您要查找的数据,此链接将帮助您获取它 -> ***.com/questions/57330766/…
【参考方案1】:
你不能从 url 中获取 json 或者你不能打印你得到的 json 吗?我不太明白。
如果你的问题是关于打印json,json是一个对象,不能直接打印,你得把它转成String
fun test()
var r: MyRequest = MyRequest(context, url)
r = jsonObject.toString()
System.out.println(r)
请尝试这种方式。
如果问题是从 url 获取 json,请告诉我。
【讨论】:
我想得到一个jsonobject,打印它只是为了测试 你应该看这里link * 相同的代码,相同的问题,相同的解决方案 我没有任何错误,我只是不知道如何获取 json 这不是同一个问题,也不是同一个解决方案。在您链接的帖子中,他们试图将响应的值设置到 UI 上的某些内容上,而在这里,OP 希望将其作为函数的结果返回。此代码可能不是同步的,这意味着您不能将其作为函数的一部分返回 哼,我都不懂以上是关于如何在 kotlin android 中使用 volley 获取 json的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Kotlin 的视图绑定在 Android 中缩短此代码?
如何使用kotlin在Android的firebase中获取child的键值