2

JSON でこのように定義された人のコレクションがあるとします。

{
        "NOM": "Doe",
        "PRENOM": "John",
        "EMAIL": "john.doe@email.me",
        "VILLE": "Somewhere",
        "LIKE1": "Lolcats",
        "LIKE2": "Loldogs",
        "LIKE3": "Lolwut",
        "HATE1": "Bad stuff",
        "HATE2": "Bad bad stuff"
}

LIKE* フィールドと HATE* フィールドを集約して、Person のプロパティとして設定された Liking のコレクションに変換する JsonDeserializer を作成することは可能ですか? (LIKE1、LIKE2、LIKE3、HATE1、HATE2 しかないことに注意してください。)

最終結果のプロパティは次のようになります。

public class Person {
    private final String lastName;
    private final String firstName;
    private final String email;
    private final String town;
    private final Collection<Liking> likings;
    // c-tor, getters
}

特定の LIKE*/HATE* プロパティを好きなオブジェクトに逆シリアル化できるロジックは既に持っていますが、それらを集約して人の好きな属性に追加することを理解できません。

事前にt​​hx!

4

2 に答える 2

1

意図したとおりにできないと思いますが、次のようにしてみてください。

{
        "NOM": "Doe",
        "PRENOM": "John",
        "EMAIL": "john.doe@email.me",
        "VILLE": "Somewhere",
        "likings": ["Lolcats", "Loldogs", "LIKE3": "Lolwut", "Bad stuff", "Bad bad stuff" ]
}
于 2013-03-07T23:32:55.113 に答える