【问题标题】:How to get a json with volley in koltin android如何在 kotlin android 中使用 volley 获取 json
【发布时间】: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 对象。您确定您的网址实际上返回了其他内容吗?
  • @a_local_nobody 我尝试响应 -> json = response 但没有变化
  • 我不确定您的代码是否同步,请尝试记录您的 response 变量以查看是否有效。如果它有您要查找的数据,此链接将帮助您获取它 -> stackoverflow.com/questions/57330766/…

标签: android json kotlin android-volley


【解决方案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 希望将其作为函数的结果返回。此代码可能不是同步的,这意味着您不能将其作为函数的一部分返回
  • 哼,我都不懂
猜你喜欢
  • 2021-09-28
  • 1970-01-01
  • 2021-11-05
  • 2019-03-19
  • 2018-01-29
  • 1970-01-01
  • 2020-05-11
  • 1970-01-01
  • 2019-12-31
相关资源
最近更新 更多