Json访问字段名*&引用;到Java类
类似问题如下: 我试图在我的android应用程序中使用改型(moshi converter)处理wikipedia api。但是我不能用“*”作为字符串编写java类文本 维基百科json请求 编辑:如果有帮助的话。除了弦外,一切都正常;因为它不是“*”Json访问字段名*&引用;到Java类,java,android,json,wikipedia-api,retrofit2,Java,Android,Json,Wikipedia Api,Retrofit2,类似问题如下: 我试图在我的android应用程序中使用改型(moshi converter)处理wikipedia api。但是我不能用“*”作为字符串编写java类文本 维基百科json请求 编辑:如果有帮助的话。除了弦外,一切都正常;因为它不是“*” 公共类文本{ 私有字符串u3;; 私有映射additionalProperties=new HashMap(); 公共字符串get_u389;(){ 返回;; } 公共无效集(字符串){ 这个; } 公共映射getAdditionalProp
公共类文本{
私有字符串u3;;
私有映射additionalProperties=new HashMap();
公共字符串get_u389;(){
返回;;
}
公共无效集(字符串){
这个;
}
公共映射getAdditionalProperties(){
返回此。附加属性;
}
public void setAdditionalProperty(字符串名称、对象值){
this.additionalProperties.put(名称、值);
}
}
,
公共类部分{
私有解析;
私有映射additionalProperties=new HashMap();
公共解析getParse(){
返回解析;
}
公共void setParse(解析){
this.parse=parse;
}
公共映射getAdditionalProperties(){
返回此。附加属性;
}
public void setAdditionalProperty(字符串名称、对象值){
this.additionalProperties.put(名称、值);
}
}
,
公共类解析{
私有字符串标题;
私有整数pageid;
私人文本;
私有映射additionalProperties=new HashMap();
公共字符串getTitle(){
返回标题;
}
公共无效集合标题(字符串标题){
this.title=标题;
}
公共整数getPageid(){
返回pageid;
}
public void setPageid(整数pageid){
this.pageid=pageid;
}
公共文本getText(){
返回文本;
}
公共void setText(文本){
this.text=文本;
}
公共映射getAdditionalProperties(){
返回此。附加属性;
}
public void setAdditionalProperty(字符串名称、对象值){
this.additionalProperties.put(名称、值);
}
}
您没有指明使用的是哪个JSON库,每个库的答案都不同。我假设是格森
您可以使用@SerializedName
注释来读取/写入与您定义的字段名不同的JSON键
@SerializedName("*")
public String star;
这将生成类似JSON的{“*”:…}
并以相同的格式读取JSON
Java中的大多数JSON库都有这样做的机制,因此,如果您使用的是Gson以外的库,您需要查阅它的文档,了解如何更改字段名称。请发布您尝试过的代码。我无法创建带有“*”名称的Java类来保存jsonI使用的Moshi。改为Gson,answer工作无误Moshi的
@Json(name=“*”)
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);
}
}
@SerializedName("*")
public String star;