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

时间:2019-06-02 10:20:07

标签: android json kotlin gson

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

    fun save(){
        var gson = Gson()
        val filename = "devices"
        val file = context?.getFileStreamPath(filename)
        if(file == null || !file.exists()){
            val device = ArrayList<devices>()
            device.add(devices("Device", ip,""))
            var json:String=gson.toJson(device).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, devices::class.java)
            content.add(devices("Device", "Android",""))
            var json:String=gson.toJson(content).replace("\\n", "\n")
        }
    }

1 个答案:

答案 0 :(得分:1)

我最终通过阅读将其修复,然后将其保存到内部存储器中。这是在var monday = moment().day(-13).startOf('day').toDate().getTime() // Monday last week var sunday = moment().day(-7).startOf('day').toDate().getTime() // Sunday last week 语句中:

vcsrepo