如何在字段名称中映射带有斜杠的JSON对象?

问题描述 投票:0回答:1

我是Java编码的自学初学者,所以请理解。 我正在编写 REST api 应用程序,希望在某个时候从服务器获得这样的响应:

[
    {
        "success": {
            "/config/linkbutton": true
        }
    }
]

通常,我会创建特定的对象,其中的字段以我的预期响应命名,并将此响应映射到该对象的数组,稍后我可以在我的应用程序中使用它。尽管在这种情况下我不能这样做,因为我当然不能在类中的字段名称中添加斜杠。 所以我的问题是如何将此响应映射到某个对象?或者也许还有另一种方法可以使用此响应中提供的数据而不创建对象?我通常使用 gson 将 JSON 与对象相互转换,但我愿意接受所有解决方案。

我将感激任何能让我走上正确方向的事情。

java json gson
1个回答
2
投票
正如您正确指出的那样,

/config/linkbutton
不能用作Java中的字段名称。这就是为什么序列化库通常有某种方法将 JSON 名称与 Java 名称分开。在 GSON 中,这是通过 SerializedName 注释完成的;在 Jackson 中,使用了 JsonProperty 注释,等等。

在您的情况下,您可以使用以下字段创建一个对象:

@SerializedName("/config/linkbutton")
boolean configLinkbutton;
© www.soinside.com 2019 - 2024. All rights reserved.