在 Kotlin 中显示 JSON 数据
Show JSON Data in Kotlin
我想将 JSON 数据放入 material 卡片小部件(见图)。在询问之前,我也做了自己的研究 - 但是,我似乎无法修复它。我尝试的所有操作都以更多错误代码告终。
现在,我只是想通过使用 Log 获得正确的输出。稍后,我想将 JSON 数据放入卡片中。但是,这是以后的问题。
希望能为您提供足够的信息;这是 JSON 文件的位置:
代码
import getJsonDataFromAsset
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
@Serializable
data class Item (
val id: Int? = null,
val image: String? = null,
val title: String? = null,
val description: String? = null,
val longDescription: String? = null,
val company: String? = null,
val price: Int? = null,
val duration: Int? = null,
val valued: String? = null
)
private var json = Json {
ignoreUnknownKeys = true
}
val jsonFileString = getJsonDataFromAsset(applicationContext, "activities.json")
val obj = json.decodeFromString<Item>(jsonFileString.toString())
if (jsonFileString != null){
Log.i("data", jsonFileString)
Log.i("obj.entertainment", obj.description.toString())
} else {
Log.e("catch", "Error")
}
JSON-文件的开头。
我想访问项目数组中的 objects/properties。
{
"items" : [
{
"id": 0,
"image": "img/glowgolf.png",
"title": "Glowgolf",
"description": "Activity description",
"longDescription": "Activity description descriptionActivity description descriptionActivity description descriptionActivity description description",
"company": "Friend",
"price": 25,
"duration": 2,
"valued": ""
}
...
输出
I/obj.entertainment: null
再尝试几次后,以下代码显示了所需的输出。
Log.i("obj.entertainment", obj.items[0].title.toString())
输出:Glowgolf
要将其放入您的视图中,请添加 val titleActivityCard = findViewById<TextView>(R.id.titleFirstCard)
和 titleActivityCard.text = obj.items[0].toString()
欢迎更好的回答,但问题已关闭。
我想将 JSON 数据放入 material 卡片小部件(见图)。在询问之前,我也做了自己的研究 - 但是,我似乎无法修复它。我尝试的所有操作都以更多错误代码告终。
现在,我只是想通过使用 Log 获得正确的输出。稍后,我想将 JSON 数据放入卡片中。但是,这是以后的问题。
希望能为您提供足够的信息;这是 JSON 文件的位置:
代码
import getJsonDataFromAsset
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
@Serializable
data class Item (
val id: Int? = null,
val image: String? = null,
val title: String? = null,
val description: String? = null,
val longDescription: String? = null,
val company: String? = null,
val price: Int? = null,
val duration: Int? = null,
val valued: String? = null
)
private var json = Json {
ignoreUnknownKeys = true
}
val jsonFileString = getJsonDataFromAsset(applicationContext, "activities.json")
val obj = json.decodeFromString<Item>(jsonFileString.toString())
if (jsonFileString != null){
Log.i("data", jsonFileString)
Log.i("obj.entertainment", obj.description.toString())
} else {
Log.e("catch", "Error")
}
JSON-文件的开头。
我想访问项目数组中的 objects/properties。
{
"items" : [
{
"id": 0,
"image": "img/glowgolf.png",
"title": "Glowgolf",
"description": "Activity description",
"longDescription": "Activity description descriptionActivity description descriptionActivity description descriptionActivity description description",
"company": "Friend",
"price": 25,
"duration": 2,
"valued": ""
}
...
输出
I/obj.entertainment: null
再尝试几次后,以下代码显示了所需的输出。
Log.i("obj.entertainment", obj.items[0].title.toString())
输出:Glowgolf
要将其放入您的视图中,请添加 val titleActivityCard = findViewById<TextView>(R.id.titleFirstCard)
和 titleActivityCard.text = obj.items[0].toString()
欢迎更好的回答,但问题已关闭。