我可以在Java中编写包含连字符的变量名吗?

Raj*_*har 7 java

我在我的应用程序中使用GSON.我有以下JSON响应:

{
  "success":true,
  "person-name": "John"
}
Run Code Online (Sandbox Code Playgroud)

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

class Person {
    boolean success;
    String person-name;
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法创建变量person-name.我怎么解决这个问题?

wer*_*ero 29

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

import com.google.gson.annotations.SerializedName;

class Person {
    boolean success;
    @SerializedName("person-name")
    String personName;
}
Run Code Online (Sandbox Code Playgroud)


Rad*_*ive 5

刚刚想到分享,如果您使用的是杰克逊,我相信很多人都在使用,您可以使用:

import com.fasterxml.jackson.annotation.JsonProperty;

class Person {
    boolean success;
    @JsonProperty("person-name")
    String personName;
}
Run Code Online (Sandbox Code Playgroud)