Android 如何将json文件加载到kotlin模块中供GSON解析

Android 如何将json文件加载到kotlin模块中供GSON解析,android,json,gson,inputstream,Android,Json,Gson,Inputstream,我需要读取一个Json文件来将数据加载到内存中 本项目具有以下模块结构: |_ app |_ data |_ datasource |_ theory.json |_ domain 我试图将json文件保存到data模块中,然后在datasource类中,我试图读取要由GSON库解析的文件 所以我尝试了数据模块的Kotlin类: val fileInputStream = FileInputStream("theory.json") val fileInputStre

我需要读取一个Json文件来将数据加载到内存中

本项目具有以下模块结构:

|_ app
|_ data
   |_ datasource
   |_ theory.json       
|_ domain
我试图将json文件保存到
data
模块中,然后在datasource类中,我试图读取要由GSON库解析的文件

所以我尝试了
数据
模块的Kotlin类:

val fileInputStream = FileInputStream("theory.json")
val fileInputStream = FileInputStream("/theory.json")
val fileInputStream = FileInputStream("../theory.json")
我总是得到这个错误的答案:

theory.json: open failed: ENOENT (No such file or directory)
但我将该文件放在package
app
assets
文件夹中,然后执行以下操作:

|_ app
   |_assets
     |_ theory.json      
|_ data
   |_ datasource 
|_ domain

val file = context?.assets?.open("theory.json")
一旦我得到这个文件,我就能够读取这个文件并用Gson库解析它,所以它工作得非常完美

这里的问题是,要使数据源工作,我需要将文件创建到de
app
模块中,然后开始通过params将其传递给数据源


有没有办法让它与
应用程序
模块“隔离”工作,并在
数据
模块中工作?

我认为实际上不可能尝试此功能。谢谢,我会查看第二个链接,看看我是否能做些什么。如果没有,我就让它保持现在的样子。谢谢在回答之前,你能告诉我这是一个什么样的项目吗?因为在一个项目到另一个项目的基础上,我们有一个不同的结构来存储数据,以便轻松读取。@Shudy你找到解决方案了吗?我认为实际上不可能尝试这样做。谢谢,我将查看第二个链接,看看我是否能做些什么。如果没有,我就让它保持现在的样子。谢谢在回答之前,你能告诉我这是一个什么样的项目吗?因为在一个项目到另一个项目的基础上,我们有不同的结构来存储数据,以便轻松读取。@Shudy,你找到解决方案了吗?