使用具有reserved关键字属性的Kotlin数据类为restTemplate创建JSON

时间:2018-05-01 19:35:14

标签: kotlin resttemplate

我需要使用JSON对象进行API调用。这对我使用数据类和使用restTemplate.postForEntity()有用。我遇到的问题是API正在寻找{ "object": ... }的属性,我不能在对象的数据类中创建一个val,因为它是一个保留的关键字。

我试图覆盖toString方法以输出"RequestClass(\"object\"=$obj)",但这不起作用。是否有另一个类需要用restTemplate覆盖,或者是否有不同的方法来创建一个与保留关键字同名的属性?

2 个答案:

答案 0 :(得分:1)

该链接有助于修复它。命名变量`object`允许它保留该命名方案。谢谢!

答案 1 :(得分:0)

我不喜欢使用反引号,因为它污染了你的代码。你最终不得不在任何想要引用该字段的地方使用这些反引号。您可以将其命名为适当的不是保留关键字,并使用映射层(可能是jackson)来更改序列化名称:

@field:JsonProperty("object")

我倾向于不时为名为“default”等的json字段执行此操作。