1

ネストされた配列を含む JSON を解析しようとしています。マッピングしている親内の子オブジェクトのリストに配列をマッピングしたいと思います。以下は (少し省略された) JSON および Java クラスです。

JSON:

{
    "id": "12121212121",
    "title": "Test Object",
    "media$content": [
        {
            "plfile$audioChannels": 1,
            "plfile$audioSampleRate": 18000,
        },
        {
            "plfile$audioChannels": 2,
            "plfile$audioSampleRate": 48000,
        },
        {
            "plfile$audioChannels": 2,
            "plfile$audioSampleRate": 48000,
        }
    ]
}

Java クラス

class MediaObject {
    @JsonProperty("id")
    private String id;

    @JsonProperty("title")
    private String title;

    @JsonProperty("media$Content")
    private List<MediaContent> mediaContent;

    ... getters/setters ...

}


class MediaContent {

    @JsonProperty("plfile$audioChannels")
    private int audioChannels;

    @JsonProperty("plfile$audioSampleRate")
    private int audioSampleRate;

    ... getters/setters ...
}

標準のマッパーコード、つまり mapper.readValue(jsonString, MediaObject.class) とともに注釈を使用して逆シリアル化できるようにしたいと思います

「id」フィールドと「title」フィールドではすべて正常に機能しますが、MediaContent オブジェクトのリストは常に null になります。これは、ジャクソンが問題なく処理できるはずのことのように思えます。誰かが私がここで間違っていることを理解できますか?

4

1 に答える 1

3

media$Contentjsonフィールドの名前が間違っています - 属性は間違っていますmedia$[c]ontent。そうしないと、なぜ機能しないのかわかりません。

于 2013-02-07T22:47:06.183 に答える