gson 如何Map字段名中带有斜杠的JSON对象?

l3zydbqr  于 2023-03-29  发布在  其他
关注(0)|答案(1)|浏览(193)

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

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

通常情况下,我会创建一个特定的对象,该对象的字段以我期望的响应命名,我会将该响应Map到这个对象的数组,我可以在我的应用程序中稍后使用。虽然在这种情况下,我不能这样做,因为我当然不能在类中,在布尔字段的名字里加上斜杠,所以我的问题是,我怎么能把这个响应Map到某个对象呢?或者可能有另一种方法可以使用此响应中提供的数据而不创建对象?我通常使用gson将JSON转换为对象/从对象转换,但我对所有解决方案都持开放态度。
会感激任何能让我走上正确方向的事。

p8h8hvxi

p8h8hvxi1#

正如您正确指出的那样,/config/linkbutton在Java中不能用作字段名,这就是为什么序列化库通常有某种方法将JSON名称与Java名称分开的原因,在GSON中,这是通过SerializedName注解完成的;在Jackson中,使用了JsonProperty注解,等等。
在本例中,您可以使用以下字段创建对象:

@SerializedName("/config/linkbutton")
boolean configLinkbutton;

相关问题