我有一个复杂的Kotlin数据类,可以这样说:
data class Post(
val message: Message,
val dateAndTime: LocalTime,
val postAuthor: Author?,
val visitorsVisitedTimes: List<Pair<LocalTime, Author>>
)
和Message, LocalTime, ...
是不同的数据类。
我有一个以上Post
数据类的对象。我想解析它,访问visitorsVisitedTimes
字段值,对于每一对,用对应的postAuthor
替换Author
对象。我还必须在Message
对象中做类似的修改。
我不想在类定义中做任何更改。
一种方法是将此对象转换为json字符串,解析它,进行必要的更改,然后将其转换回Post::class.java
并返回。
我做了这样的事情:
// input is an object of Post::class
var jsonString: String = Gson().toJson(input)
// parse the json string, make required changes
var objectFromJson: Post = Gson().fromJson(jsonString, Post::class.java)
return objectFromJson
但是,我不确定如何在Json字符串中进行所需的更改。
我怎么能做到,如果不行,还有别的办法做这个任务吗?
1条答案
按热度按时间uurity8g1#
创建对象的副本,请参阅https://kotlinlang.org/docs/data-classes.html。