gpt4 book ai didi

android - 如何使用 gson 在 Kotlin 中的 Json 数组中插入 Json 对象

转载 作者:行者123 更新时间:2023-11-29 23:07:09 32 4
gpt4 key购买 nike

我刚开始使用 gson。我曾多次尝试在 Kotlin 的 Json 数组中插入一个 Json 对象。我能够使用 Json 对象成功创建 Json 数组并将其保存到内部存储。但是,我无法使用此代码在其中插入 Json 对象。关于如何实现这一目标的任何建议?我试图从内部存储中获取文件,但无法从 Json 中获取文件,所以我不确定这个想法是否可行。数组中的数据都是字符串。这是我的代码:

    fun save(){
var gson = Gson()
val filename = "name"
val file = context?.getFileStreamPath(filename)
if(file == null || !file.exists()){
val array= ArrayList<arraylist>()
array.add(arraylist("1","2","3"))
var json:String=gson.toJson(array).replace("\\n", "\n")
context?.openFileOutput(filename, Context.MODE_PRIVATE).use {
it?.write(json.toByteArray())
}
}
else{
val file = File(context?.filesDir, filename)
val contents = file.readText()
val gson = GsonBuilder().create()
val content = gson.fromJson(contents, arraylist::class.java)
content.add(arraylist("1","2","3"))
var json:String=gson.toJson(content).replace("\\n", "\n")
}
}

最佳答案

我最终通过阅读然后将其保存到内部存储器来解决这个问题。这是在 else{} 语句中:

    val file1 = File(context?.filesDir, filename)
val contents = file1.readText()
val array = gson.fromJson(contents, Array<arraylist>::class.java)
val arrayList = ArrayList(array.toMutableList())
arrayList.add(devices("Finally","Works","Wow"))
val json: String = gson.toJson(arrayList).replace("\\n", "\n")
context?.openFileOutput(filename, Context.MODE_PRIVATE).use {
it?.write(json.toByteArray())
}

关于android - 如何使用 gson 在 Kotlin 中的 Json 数组中插入 Json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56414141/

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