Java - 是否可以通过名称" static"来声明序列化密钥。

时间:2017-03-01 20:57:32

标签: java json gson pojo

我想创建一个POJO,后来我想用GSON将它转换为JSON。我的JSON看起来像这样

{
"static":"value",
"otherkey": "value"
}

所以我的POJO看起来喜欢这个

public class MyPOJO {

    public String static;
    public String otherkey;
}

但是编纂者抱怨我public String static;。我知道static是一个关键字,但有可能吗?

3 个答案:

答案 0 :(得分:6)

不,您不能将其命名为静态,因为它是一个保留关键字,就像其他答案所说的那样。要使用GSON解决您的问题,请使用@SerializedName注释指定序列化期间使用的名称,并且不要将变量命名为static,选择其他类似的内容:

@SerializedName("static")
private String myStaticVar;

答案 1 :(得分:4)

“静态”是保留字。你不能将它用于变量。

答案 2 :(得分:3)

您不能:static是保留关键字。

您可以使用以下名称:statikstatic_,...

使用@SerializedName("static")指定要在JSON输出中使用的名称:

@SerializedName("static")
public String statik;