小编Erw*_*erg的帖子

Kotlin Moshi 从资产加载 Json

我正在尝试使用 moshi 将资产 Json 文件加载到我的项目中。但是,我不断收到以下错误:

com.squareup.moshi.JsonEncodingException:使用 JsonReader.setLenient(true) 在路径 $ 处接受格式错误的 JSON

我应该如何将以下 Json 加载到我的项目中?

json_file.json

[
  {
    "Name": "Show title",
    "Description": "desc",
    "Artwork": "link",
    "URL": "feed url"
  },
  {
    "Name": "Show title",
    "Description": "desc",
    "Artwork": "link",
    "URL": "feed url"
  }
]
Run Code Online (Sandbox Code Playgroud)

这就是我所做的:

实用程序

object JsonUtil {

    fun getAssetPodcasts(context: Context): List<JsonPodcast>? {
        val moshi = Moshi.Builder()
            .add(KotlinJsonAdapterFactory())
            .build()

        val listType = Types.newParameterizedType(List::class.java, JsonPodcast::class.java)
        val adapter: JsonAdapter<List<JsonPodcast>> = moshi.adapter(listType)

        val file = "json_file.json"

        val myjson = context.assets.open(file).bufferedReader().use{ it.readText()}

        return adapter.fromJson(myjson)
    }

    @JsonClass(generateAdapter …
Run Code Online (Sandbox Code Playgroud)

json android-assets kotlin moshi

8
推荐指数
1
解决办法
4244
查看次数

标签 统计

android-assets ×1

json ×1

kotlin ×1

moshi ×1