javascript中的类似问题:
我试图在我的Android应用程序中使用Retrofit(moshi转换器)来处理wikipedia api。但我不能用" *"来编写java类文本。作为一个字符串。
维基百科json请求example。
编辑:如果有帮助的话。一切都有效,除了String _;因为它不是" *"。
public class Text {
private String _;
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
public String get_() {
return _;
}
public void set_(String _) {
this._ = _;
}
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
,
public class Section {
private Parse parse;
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
public Parse getParse() {
return parse;
}
public void setParse(Parse parse) {
this.parse = parse;
}
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
,
public class Parse {
private String title;
private Integer pageid;
private Text text;
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getPageid() {
return pageid;
}
public void setPageid(Integer pageid) {
this.pageid = pageid;
}
public Text getText() {
return text;
}
public void setText(Text text) {
this.text = text;
}
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
答案 0 :(得分:2)
您没有指出您使用的是哪个JSON库,每个JSON库的答案都不同。我要去担任Gson。
您可以使用@SerializedName
注释来读取/写入与您将字段名称定义为不同的JSON密钥。
@SerializedName("*")
public String star;
这将生成类似{"*": ...}
的JSON,并以相同的格式读取JSON。
Java中的大多数JSON库都有一些执行此操作的机制,因此如果您使用的是Gson以外的库,则需要查阅有关如何更改字段名称的文档。