Android项目Kotlin scratch文件调用org.json类报错的解决咨询
解决Kotlin Scratch文件无法导入org.json的问题
你猜的没错——Android框架里的org.json类是绑定在Android SDK环境中的,Kotlin Scratch文件默认运行在标准JVM环境下,所以找不到这些类。不过完全不用依赖Android框架就能解决这个问题,因为有独立发行的org.json库,和Android自带的版本API完全兼容,直接就能用在JVM环境里验证你的JSON处理逻辑。
具体解决步骤
1. 给Scratch文件添加独立org.json依赖
在IntelliJ/Android Studio里,给Scratch文件添加依赖很简单:
- 打开你的Kotlin Scratch文件(
.kts) - 点击右上角的「Configure Scratch File」按钮(或者右键文件,选择「Add Library Dependency...」)
- 在弹出的搜索框里输入
org.json:json,选择一个稳定的版本(比如20240303),点击「OK」添加
2. 修改Scratch代码(可选,但更规范)
虽然导入语句不用改,但为了让Scratch文件能直接运行,最好把代码放在main函数里(Kotlin脚本也可以直接写,但加main更清晰):
import org.json.JSONObject fun main() { val jsonObject = JSONObject( """ { "data": ["user1", "user2", "user3"] } """ ) println(jsonObject["data"]) }
3. 运行验证
现在点击Scratch文件里的运行按钮,就能正常输出JSON里的data数组了,完全不用编译Android应用。
为什么这个方法可行?
这个独立的org.json:json库是官方从Android框架里抽离出来的独立发行版,源码和Android自带的org.json完全一致,API没有任何差异。也就是说你在Android项目里写的JSON处理逻辑,直接复制到这个Scratch文件里就能运行验证,不需要做任何修改。
备选方案:手动添加Jar包
如果不想用IDE的依赖管理功能,也可以:
- 去Maven仓库下载
org.json:json的Jar包 - 把Jar包放到项目的
libs目录下 - 在Scratch文件里右键Jar包,选择「Add as Library」,之后就能正常导入使用了
内容的提问来源于stack exchange,提问作者olik79




