如何在 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 中缩短此代码?

如何使用kotlin在Android的firebase中获取child的键值

如何在 Kotlin android 的改造中使用 enque 方法

做Android开发,如何使用 Kotlin 提高生产力!

做Android开发,如何使用 Kotlin 提高生产力!