2017-10-31 5 views
0

私はシリアル化するJava POJOを持っていて、それはダイナミックである特定のフィールドを含むことができます。ジャクソンはダイナミックなタイプのオブジェクトをシリアル化します

public class ClassToSerialize { 
    private String property1; 
    private String propertyNameMappedToDBSchema; 

    private List<Data> dataList; 

} 

次に、カスタムシリアル化を使用して、必要な構造に従ってシリアル化します。

問題はpropertyNameMappedToDBSchemaですリストは上記の例ですので、私はListとしてデータを使用しなければなりませんでしたが、それも非リストになります。

は、どのように私はJavaのPOJOを作るか、私はDataあなたはジャクソンJsonNodeにpropertyNameMappedtoDBSchemaの種類を変更することができますpropertyNameMappedToDBSchema

+0

気をつけてください。 –

+1

多分あなたのニーズに応じてシリアル化する 'Data'の異なるサブクラスを持つことができます。 – Bill

+0

@Bill:サンプルコードはありますか? –

答えて

2

に基づいて動的な型であることを行うことができますジャクソンに知らせることができます。

次に、JsonNode.isArray,JsonNode.isStringJsonNode.isObjectなどのJsonNodeのメソッドを使用して、JsonNodeの処理方法を判断できます。