【问题标题】:Simple way to read Json file on android studio [duplicate]在android studio上读取Json文件的简单方法[重复]
【发布时间】:2021-01-09 17:50:13
【问题描述】:

我有一个包含国家列表的 JSON 文件,我想将它集成到我的 android studio java 项目中,然后通过代码读取内容,将文件放在项目中的哪个位置以及读取文件的最简单方法是什么我的 Java 类?

谢谢!

【问题讨论】:

标签: java android android-studio android-json


【解决方案1】:
  1. 首先,您必须读取文件并将内容分配给某个字符串变量

         val file = File(context?.filesDir, FILE_NAME)
     val fileReader = FileReader(File(context?.filesDir, FILE_NAME))
     val bufferedReader = BufferedReader(fileReader)
     val stringBuilder = StringBuilder()
     var line = bufferedReader.readLine()
     while (line != null) {
         stringBuilder.append("${line}\n")
         line = bufferedReader.readLine()
     }
     bufferedReader.close()
     val jsonFileAsString = stringBuilder.toString()
    

2.其次,您必须从之前的结果创建一个 JSONOBJECT(jsonFileAsString 变量

 val jsonObject = JSONObject(jsonFileAsString)
  1. 最后,要读取您可以使用的特定属性

    jsonObject.get("name").toString()

但为了清楚起见,您应该考虑制作一个 数据类 来匹配特定的 JSON 文件并以这种方式解析它。为此,您可以使用 GSON 库(我不知道标准的 Android 软件包是否具有此功能),您应该会得到如下内容:

数据类

data class Transport(
    val TransportIdentifier: String?,
    val TransportType: String?,
)

你只需使用它来解析它

val transport = Gson().fromJson<Transport>(stringVariable, Transport::class.java)

并且可以像这样使用它

transport.TransportType

为了使事情变得更简单,您可以使用例如online-parser 从 JSON 输出生成数据类

【讨论】:

  • 感谢您的回答,我的文件实际上是 .json 而不是 .txt,有什么区别吗?还有我应该把它放在我的项目哪里?
  • 它没有任何区别。你应该把它放在哪里取决于你是通过一些 WebApi 获取文件还是你在整个应用程序中使用的静态文件
猜你喜欢
  • 2016-06-01
  • 1970-01-01
  • 2015-02-01
  • 1970-01-01
  • 2019-01-25
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多