Проблема преобразования преобразования - как правильно создать класс POJO для конкретного JSON:

Похоже, эта ошибка возникает из-за версии вашего 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"] ?? "";
            }
        }

Надеюсь, что это поможет

0
задан Evi 18 January 2019 в 16:28
поделиться

4 ответа

В конце концов я сам нашел решение: поскольку поле «acf.o_prednasce» в JSON было в одном случае логическим, а в остальных случаях массивом, я отфильтровал ответ API по полю «категория», чтобы получить его. тип этого поля в одном ответе.

0
ответ дан Evi 18 January 2019 в 16:28
поделиться

конструкторы по умолчанию не требуются; точно так же эти @Expose аннотации не требуются.

попробуйте использовать ArrayList<Lecture> вместо List<Lecture>.

0
ответ дан Martin Zeitler 18 January 2019 в 16:28
поделиться

Сериализаторы обычно требуют, чтобы объекты имели конструкторы по умолчанию.

Добавьте конструктор по умолчанию в Lecture и посмотрите, что произойдет.

0
ответ дан Jeff I 18 January 2019 в 16:28
поделиться

попробуйте 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;
}

}
0
ответ дан Ahmed Karam 18 January 2019 в 16:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: