web-dev-qa-db-ja.com

WP Rest API - Javaで埋め込まれたjsonオブジェクトに変換する方法

私は私の記事でWordPress Rest apiから埋め込み画像を取得したいです。私は私の要求でクエリパラメータとして_embedまたは_embed=trueを追加する必要があることがわかりました。結果は、このような余分な_embedded部分を持っています: enter image description here  メインの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です。

1
Kenji

問題は wp:featuremedia: の解析にあります。これは@SerializedNameで処理します。 wp を含む featuremedia を含むクラス wp を作成する代わりに:/

public class EmbeddedDto implements Serializable{
    @SerializedName("wp:featuredmedia")
    @Expose
    private List<MediaDto> featuremedia;
}

Jsonは正しい方法で構文解析します。

2
Kenji