如何在使用 toJson 方法将 class 转换为 sting 后设置上面的一些 属性

How to set some property above after converting class to sting using toJson Method

我在做序列化 Gson().toJson(objOfClass)。但我需要在 DEVAWSEP 之前设置 SEQ,& SRC 属性 那么我该如何设置呢?

{"state":{"desired":{"ACT":1,"DEVAWSEP":"xxxxxxxxx","SEQ":6048799,"SRC":"MA"}}}

我要这个表格

{"state":{"desired":{"ACT":1,"SEQ":6048799,"SRC":"MA","DEVAWSEP":"xxxxxxxxx"}}}

所以我想做没有字母顺序的序列化

我正在使用这个库。

dependencies {
  implementation 'com.google.code.gson:gson:2.8.6'
}

我将通过像这样编写一个手动 JsonSerializer 来实现这一点。

class DesiredSerializer : JsonSerializer<Desired> {
    override fun serialize(
        desired: Desired?,
        typeOfSrc: Type?,
        context: JsonSerializationContext?,
    ): JsonElement {
        var o: JsonObject = JsonObject()
        o.add("ACT", context?.serialize(desired?.ACT))
        return o
    }
 }