我可以GSON反序列化包含Java中的连字符的变量名吗?

时间:2016-02-14 11:31:45

标签: java

我在我的应用中使用GSON。我有以下JSON响应:

{
  "success":true,
  "person-name": "John"
}

所以,我正在创建一个这样的类:

class Person {
    boolean success;
    String person-name;
}

但是,我无法创建变量person-name。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:28)

选择一个有效的Java标识符并使​​用@SerializedName注释告诉GSON相应JSON属性的名称:

__callee__

答案 1 :(得分:3)

保持 - 除了你可以使用Person_name而不是Person-name之外,java中不允许使用名称希望这会有所帮助。如果您有任何疑问,请通过标识符

中的规则

答案 2 :(得分:2)

只要分享一下,如果您正在使用Jackson(我相信很多人都在使用),则可以使用:

import com.fasterxml.jackson.annotation.JsonProperty;

class Person {
    boolean success;
    @JsonProperty("person-name")
    String personName;
}