Похоже, эта ошибка возникает из-за версии вашего MSBuild, старая версия MSBuild может компилировать только C # версию 4, а ваш код написан в формате C # версии 6 (задайте значение по умолчанию для свойств).
Пример написания кода в C # версии 6:
public static string HostName { get; set; } = ConfigurationManager.AppSettings["RabbitMQHostName"] ?? "";
Чтобы MSBuild скомпилировал ваш код, вам нужно написать в стиле C # 4
public static string HostName { get; set; }
public SomeConstructor()
{
HostName = ConfigurationManager.AppSettings["RabbitMQHostName"] ?? "";... }
Или
public static string HostName
{
get
{
return ConfigurationManager.AppSettings["RabbitMQHostName"] ?? "";
}
}
Надеюсь, что это поможет
В конце концов я сам нашел решение: поскольку поле «acf.o_prednasce» в JSON было в одном случае логическим, а в остальных случаях массивом, я отфильтровал ответ API по полю «категория», чтобы получить его. тип этого поля в одном ответе.
конструкторы по умолчанию не требуются; точно так же эти @Expose
аннотации не требуются.
попробуйте использовать ArrayList<Lecture>
вместо List<Lecture>
.
Сериализаторы обычно требуют, чтобы объекты имели конструкторы по умолчанию.
Добавьте конструктор по умолчанию в Lecture и посмотрите, что произойдет.
попробуйте www.jsonschema2pojo.org
-----------------------------------com.example.Acf.java-----------------------------------
package com.example;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Acf {
@SerializedName("role")
@Expose
private String role;
@SerializedName("job")
@Expose
private String job;
@SerializedName("social")
@Expose
private List<Social> social = null;
@SerializedName("speaker_slider_shortcode")
@Expose
private String speakerSliderShortcode;
@SerializedName("o_prednasce")
@Expose
private List<OPrednasce> oPrednasce = null;
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public List<Social> getSocial() {
return social;
}
public void setSocial(List<Social> social) {
this.social = social;
}
public String getSpeakerSliderShortcode() {
return speakerSliderShortcode;
}
public void setSpeakerSliderShortcode(String speakerSliderShortcode) {
this.speakerSliderShortcode = speakerSliderShortcode;
}
public List<OPrednasce> getOPrednasce() {
return oPrednasce;
}
public void setOPrednasce(List<OPrednasce> oPrednasce) {
this.oPrednasce = oPrednasce;
}
}
-----------------------------------com.example.Content.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Content {
@SerializedName("rendered")
@Expose
private String rendered;
@SerializedName("protected")
@Expose
private Boolean _protected;
public String getRendered() {
return rendered;
}
public void setRendered(String rendered) {
this.rendered = rendered;
}
public Boolean getProtected() {
return _protected;
}
public void setProtected(Boolean _protected) {
this._protected = _protected;
}
}
-----------------------------------com.example.Example.java-----------------------------------
package com.example;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Example {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("date")
@Expose
private String date;
@SerializedName("date_gmt")
@Expose
private String dateGmt;
@SerializedName("guid")
@Expose
private Guid guid;
@SerializedName("modified")
@Expose
private String modified;
@SerializedName("modified_gmt")
@Expose
private String modifiedGmt;
@SerializedName("slug")
@Expose
private String slug;
@SerializedName("status")
@Expose
private String status;
@SerializedName("type")
@Expose
private String type;
@SerializedName("link")
@Expose
private String link;
@SerializedName("title")
@Expose
private Title title;
@SerializedName("content")
@Expose
private Content content;
@SerializedName("excerpt")
@Expose
private Excerpt excerpt;
@SerializedName("author")
@Expose
private Integer author;
@SerializedName("featured_media")
@Expose
private Integer featuredMedia;
@SerializedName("comment_status")
@Expose
private String commentStatus;
@SerializedName("ping_status")
@Expose
private String pingStatus;
@SerializedName("sticky")
@Expose
private Boolean sticky;
@SerializedName("template")
@Expose
private String template;
@SerializedName("format")
@Expose
private String format;
@SerializedName("meta")
@Expose
private List<Object> meta = null;
@SerializedName("categories")
@Expose
private List<Integer> categories = null;
@SerializedName("tags")
@Expose
private List<Object> tags = null;
@SerializedName("acf")
@Expose
private Acf acf;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getDateGmt() {
return dateGmt;
}
public void setDateGmt(String dateGmt) {
this.dateGmt = dateGmt;
}
public Guid getGuid() {
return guid;
}
public void setGuid(Guid guid) {
this.guid = guid;
}
public String getModified() {
return modified;
}
public void setModified(String modified) {
this.modified = modified;
}
public String getModifiedGmt() {
return modifiedGmt;
}
public void setModifiedGmt(String modifiedGmt) {
this.modifiedGmt = modifiedGmt;
}
public String getSlug() {
return slug;
}
public void setSlug(String slug) {
this.slug = slug;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public Title getTitle() {
return title;
}
public void setTitle(Title title) {
this.title = title;
}
public Content getContent() {
return content;
}
public void setContent(Content content) {
this.content = content;
}
public Excerpt getExcerpt() {
return excerpt;
}
public void setExcerpt(Excerpt excerpt) {
this.excerpt = excerpt;
}
public Integer getAuthor() {
return author;
}
public void setAuthor(Integer author) {
this.author = author;
}
public Integer getFeaturedMedia() {
return featuredMedia;
}
public void setFeaturedMedia(Integer featuredMedia) {
this.featuredMedia = featuredMedia;
}
public String getCommentStatus() {
return commentStatus;
}
public void setCommentStatus(String commentStatus) {
this.commentStatus = commentStatus;
}
public String getPingStatus() {
return pingStatus;
}
public void setPingStatus(String pingStatus) {
this.pingStatus = pingStatus;
}
public Boolean getSticky() {
return sticky;
}
public void setSticky(Boolean sticky) {
this.sticky = sticky;
}
public String getTemplate() {
return template;
}
public void setTemplate(String template) {
this.template = template;
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
public List<Object> getMeta() {
return meta;
}
public void setMeta(List<Object> meta) {
this.meta = meta;
}
public List<Integer> getCategories() {
return categories;
}
public void setCategories(List<Integer> categories) {
this.categories = categories;
}
public List<Object> getTags() {
return tags;
}
public void setTags(List<Object> tags) {
this.tags = tags;
}
public Acf getAcf() {
return acf;
}
public void setAcf(Acf acf) {
this.acf = acf;
}
}
-----------------------------------com.example.Excerpt.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Excerpt {
@SerializedName("rendered")
@Expose
private String rendered;
@SerializedName("protected")
@Expose
private Boolean _protected;
public String getRendered() {
return rendered;
}
public void setRendered(String rendered) {
this.rendered = rendered;
}
public Boolean getProtected() {
return _protected;
}
public void setProtected(Boolean _protected) {
this._protected = _protected;
}
}
-----------------------------------com.example.Guid.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Guid {
@SerializedName("rendered")
@Expose
private String rendered;
public String getRendered() {
return rendered;
}
public void setRendered(String rendered) {
this.rendered = rendered;
}
}
-----------------------------------com.example.OPrednasce.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class OPrednasce {
@SerializedName("nazev_prednasky")
@Expose
private String nazevPrednasky;
@SerializedName("den_prednasky")
@Expose
private String denPrednasky;
@SerializedName("cas_prednasky")
@Expose
private String casPrednasky;
@SerializedName("typ")
@Expose
private String typ;
@SerializedName("misto_konani")
@Expose
private String mistoKonani;
@SerializedName("doba_trvani")
@Expose
private String dobaTrvani;
@SerializedName("prave_probiha")
@Expose
private String praveProbiha;
public String getNazevPrednasky() {
return nazevPrednasky;
}
public void setNazevPrednasky(String nazevPrednasky) {
this.nazevPrednasky = nazevPrednasky;
}
public String getDenPrednasky() {
return denPrednasky;
}
public void setDenPrednasky(String denPrednasky) {
this.denPrednasky = denPrednasky;
}
public String getCasPrednasky() {
return casPrednasky;
}
public void setCasPrednasky(String casPrednasky) {
this.casPrednasky = casPrednasky;
}
public String getTyp() {
return typ;
}
public void setTyp(String typ) {
this.typ = typ;
}
public String getMistoKonani() {
return mistoKonani;
}
public void setMistoKonani(String mistoKonani) {
this.mistoKonani = mistoKonani;
}
public String getDobaTrvani() {
return dobaTrvani;
}
public void setDobaTrvani(String dobaTrvani) {
this.dobaTrvani = dobaTrvani;
}
public String getPraveProbiha() {
return praveProbiha;
}
public void setPraveProbiha(String praveProbiha) {
this.praveProbiha = praveProbiha;
}
}
-----------------------------------com.example.Social.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Social {
@SerializedName("odkaz")
@Expose
private String odkaz;
@SerializedName("socialni_sit")
@Expose
private String socialniSit;
public String getOdkaz() {
return odkaz;
}
public void setOdkaz(String odkaz) {
this.odkaz = odkaz;
}
public String getSocialniSit() {
return socialniSit;
}
public void setSocialniSit(String socialniSit) {
this.socialniSit = socialniSit;
}
}
-----------------------------------com.example.Title.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Title {
@SerializedName("rendered")
@Expose
private String rendered;
public String getRendered() {
return rendered;
}
public void setRendered(String rendered) {
this.rendered = rendered;
}
}