You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OkHttp3获取JSON时遇Unresolved Reference: url错误求助

解决OkHttp3中“Unresolved reference: url”错误

你的代码核心问题是创建Request.Builder时缺少实例化括号:Request.Builder是类,必须先通过()创建实例,才能调用它的url()实例方法。原写法错误将其当作静态方法调用,导致编译器找不到对应方法,进而触发“url未解析”的报错。

修改后的完整代码:

private fun fetchJson() {
    println("Attempting to fetch JSON")

    val url = "https://lordvarun.github.io/back/data.json"

    // 补全()创建Builder实例
    val request = Request.Builder().url(url).build()

    val client = OkHttpClient()
    client.newCall(request).enqueue(object: Callback {
        override fun onResponse(call: Call, response: Response) {
            val body = response.body?.string()
            println(body)

            val gson = GsonBuilder().create()

            // Kotlin可自动推导泛型,无需额外写<>
            val homeFeed = gson.fromJson(body, HomeFeed::class.java)
        }

        override fun onFailure(call: Call, e: IOException) {
            println("Failed to execute request")
        }
    })
}

额外补充两个注意点:

  • Gson的fromJson方法无需手动指定尖括号<>,Kotlin会自动推导泛型类型
  • 确保已正确导入相关类:
    import okhttp3.Call
    import okhttp3.Callback
    import okhttp3.OkHttpClient
    import okhttp3.Request
    import okhttp3.Response
    import com.google.gson.GsonBuilder
    import java.io.IOException
    

内容的提问来源于stack exchange,提问作者Vishruthaa B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 09:50:33