Moshi自定义字段不适用于序列化

时间:2019-05-01 19:33:27

标签: android json serialization moshi

我正在Android上使用Moshi 1.8.0,并且按照Moshi文档中的说明创建自定义字段:https://github.com/square/moshi#custom-field-names-with-json

这意味着我的请求数据类如下:

data class GetStuff(
        @Json(name = "RequestContext") val context: RequestContext,           
)

但是问题是实际的HTTP请求是这样发送的:

{"context": "blah... }

我希望发生的是我的请求改为这样:

{"RequestContext": "blah... }

这似乎可以很好地响应,但我不知道如何使它适用于请求。

谢谢! 这不是@Json(name = "")批注用于请求的方式吗?

1 个答案:

答案 0 :(得分:0)

呃,我是个白痴。

我将为以后需要它的人(可能是我)回答。

为了将Json转换为数据类,您必须更改API调用以使其具有以下注释:

@MoshiDeserialization

我知道,这就是使反序列化起作用的神奇注解。

但是,我不知道我还需要第二个魔术注释来使序列化部分也能正常工作:

@MoshiSerialization

现在可以了。