3

我正在开发一个需要处理从 Web API 检索到的 json 数据的 Android 项目。在项目中,我成功地使用了类JSONObjectJSONArray(包org.json)没有任何问题。

每次我想尝试一些 json 处理时总是运行编译、运行和导航应用程序很烦人,所以我决定尝试一下暂存文件。

我的暂存文件如下所示:

import org.json.JSONObject

val jsonObject = JSONObject(
    """
    {
      "data": [
        ...
      ]
    }
    """
)

println(jsonObject["data"])

当我尝试运行该文件时,我收到一条错误消息,指出导入不成功:

error: unresolved reference: json (scratch.kts:1:12)
error: unresolved reference: JSONObject (scratch.kts:3:18)
scratch.kts:1:12: error: unresolved reference: json
import org.json.JSONObject
           ^
scratch.kts:3:18: error: unresolved reference: JSONObject
val jsonObject = JSONObject(
                 ^

Process finished with exit code 1

据我了解,这是因为这些org.json类现在是 Android 的一部分,并且 Android 框架不能从草稿文件中获得。但是我该如何解决呢?我不应该能够以org.json某种方式从Android框架导入包吗?

4

1 回答 1

0

为了import android.*在您的临时文件中使用,您必须连接到您的 Android 模块的类路径(参见下面的示例屏幕截图)。无论如何,这带来了一个缺点,即您必须拥有一个可运行的项目。

类路径示例

于 2021-03-29T20:14:26.240 回答