gpt4 book ai didi

json - Kotlin Moshi 从 Assets 加载 Json

转载 作者:行者123 更新时间:2023-12-02 12:01:11 28 4
gpt4 key购买 nike

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

com.squareup.moshi.JsonEncodingException: Use JsonReader.setLenient(true) to accept malformed JSON at path $



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

json_file.json
[
{
"Name": "Show title",
"Description": "desc",
"Artwork": "link",
"URL": "feed url"
},
{
"Name": "Show title",
"Description": "desc",
"Artwork": "link",
"URL": "feed url"
}
]

这就是我所做的:

JsonUtil
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 = true)
data class JsonPodcast(
val Name: String,
val Description: String,
val Artwork: String,
val URL: String
)
}

我的事件
getAssetPodcasts(this)

任何帮助将不胜感激!

最佳答案

我终于设法修复它。对于 future 可能遇到相同情况的任何人,这就是我所做的:

虽然 json 看起来非常好,但肯定有一些错误的编码。我将json上传到jsoneditoronline然后再次导出。加载它,现在代码工作得很好。

最后,您可以检查以进行调试的其他内容;

  • Assets 文件是否正确打开?
  • 依赖关系是否正确?
  • 您添加了吗.add(KotlinJsonAdapterFactory())到 moshi 对象?
  • listType - 如果适用 - 是否正确?
  • 数据类是否正确?

  • 快乐编码(再次)!

    关于json - Kotlin Moshi 从 Assets 加载 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57202720/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com