私は私の記事でWordPress Rest apiから埋め込み画像を取得したいです。私は私の要求でクエリパラメータとして_embed
または_embed=true
を追加する必要があることがわかりました。結果は、このような余分な_embedded
部分を持っています: メインのjsonファイルに_embeddedという名前のembeddedDtoを置き、これを処理するために必要なその他のDtoを作成します。
Image wp:featuremedia のハイライトされた箇所に問題があるようです、どうやってjsonにパースするのですか?私はfeaturemedia dtoを持つクラスwpを作成します。私は正しいですか?あなたはここに他のDtosを見ることができます:
public class EmbeddedDto implements Serializable{
private WPDto wp;
public WPDto getWp() {
return wp;
}
public void setWp(WPDto wp) {
this.wp = wp;
}
}
この:
public class WPDto implements Serializable {
private List<MediaDto> featuremedia;
public List<MediaDto> getFeaturemedia() {
return featuremedia;
}
public void setFeaturemedia(List<MediaDto> featuremedia) {
this.featuremedia = featuremedia;
}
}
そして最後に:
public class MediaDto implements Serializable {
private Long id;
private String date;
private String slug;
private String link;
private String title;
private String source_url;
}
しかし、 wp は常にnullです。
問題は wp:featuremedia: の解析にあります。これは@SerializedName
で処理します。 wp を含む featuremedia を含むクラス wp を作成する代わりに:/
public class EmbeddedDto implements Serializable{
@SerializedName("wp:featuredmedia")
@Expose
private List<MediaDto> featuremedia;
}
Jsonは正しい方法で構文解析します。