java - 如何在 Kotlin 中更改 JSON 值

标签 java kotlin

我有一个 jsObject ,看起来像这样 {"Name": "Milan", "Surname": "Smolik"} 在应用程序中的其他地方硬编码并用this图书馆。当我 println(fullName) 时,我得到 {"name": "Milan", "surname": "Smolik"}

现在,我想将Name修改为Martin。我怎么做?

在 JavaScript 中,我可以使用 fullName.name = 'Martin'newName = {...fullName, name: 'Martin'}。 我可以在 Kotlin 中做到这一点吗?是否有一些库支持修改 JSON/JSON 扩展运算符?

最佳答案

您无法即时执行此操作,必须将 JSON 映射到 数据类 并更改其中所需的任何字段并将其转换为 再次使用 JSON

首先创建一个数据类:

data class YourModel(
  val Name: String,
  val Surname: String
) 

使用GSONJSON 转换为 object 如下所示:

var yourModel = gson.fromJson(yourJsonString, YourModel::class.java)

然后更改您想要的任何字段,如下所示:

yourModel.Name = "Martin"

最后你可以再次将其转换为 JSON 字符串:

var jsonString = gson.toJson(yourModel)

关于java - 如何在 Kotlin 中更改 JSON 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57856293/

相关文章:

java - 识别英语句子中的主语、宾语、动词?

android - 如何使用 liveData 处理错误

java - 加载 javassist-ed Hibernate 实体

Java NullPointerException - 从文本框设置字符串参数

kotlin - 阻塞每个方法的同步集合

android - 房间 (AAC) : [SQLITE_ERROR] SQL error or missing database (near "group": syntax error)

kotlin - 如何强制立即实例化枚举值?

kotlin - 使用 hashmap 键的 Smart Cast

java - 在javafx中,我如何更改按钮的颜色,等待1秒然后将其更改回默认值?

java - 调用 SQL 查询返回旧值