簡體   English   中英

如何在 Android Studio 上的 Kotlin 中解析 JSON 文件

[英]How to parse a JSON file in Kotlin on Android Studio

我正在嘗試解析以下 JSON 文件。 它在不同的 package 上,我正在嘗試導入它。 我嘗試安裝不同的軟件包並添加對 Gradle 的依賴項,但對我來說似乎不清楚。 大多數教程都有 json 文件所在的文件夾 assests 或其版本包含 Java。 有誰知道我如何在 Android Studio 上使用 Kotlin 逐步讀取 JSON 文件?

我認為您不能直接從另一個模塊執行此操作,但有一種方法可以執行此操作,請按照以下步驟操作:

  1. Assets文件夾中獲取JSON作為String

     fun readJSONFromAsset(): String? { var json: String? = null try { val inputStream:InputStream = assets.open("yourFile.json") json = inputStream.bufferedReader().use{it.readText()} } catch (ex: Exception) { ex.printStackTrace() return null } return json }
  2. Gson JSON

     fun parseJSON() { Gson().fromJson(readJSONFromAsset(), YourObjectModel::class.java) }
  3. 在 JSON 所在的module中制作一個JSON並將上述方法放入其中。

     class FetchJSONFromModule() { companion object { fun readJSONFromAsset(): String? { var json: String? = null try { val inputStream:InputStream = assets.open("yourFile.json") json = inputStream.bufferedReader().use{it.readText()} } catch (ex: Exception) { ex.printStackTrace() return null } return json } fun parseJSON(): ObjectFromJson { return Gson().fromJson(readJSONFromAsset(), YourObjectModel::class.java) } } }
  4. 通過添加下面的依賴項,在要使用 JSON 的模塊中導入模塊(其中存在 JSON 及以上 class);

implementation project(":YourModuleName")

  1. 然后調用 class,在 class 中要使用JSON

val data = FetchJSoNFromModule.parseJSON()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM