2017-07-14 3 views
0

私は変数のセットを持つbeanを持っています。私はそれらを名前と値だけを持つ別のbean sayパラメータに変換したい。私はそれらのすべての変数のパラメータのリストを名前と値のペアにする必要があります。pojo変数を別のbeanに変換します。別のbeanに名前と値のリストを入れます。

私はDozerやmapstructについて考えていますが、これは本当に役に立たないようです。

今日、objectmapperを使用してマップに変換し、マップを反復してパラメータのリストを作成しました。

ご協力いただければ幸いです。

+0

あなたが別の豆から変数をコピーしたいですか? –

+0

もしあなたの豆がどのように見えるかの小さな例を提供すれば、私はMapStructのためにもっと助けることができるでしょう – Filip

+0

はいAbhijit。私は変換する必要があります –

答えて

0
class TestClass{ 
    private String str1; 
    private String str2; 
    private String str3; 
    } 

    Class Paramters{ 
    private String name; 
    private String value; 
    } 

    **Bean1:** 
    '[ 
     { 
      "str1": "string", 
      "str2": "string", 
      "str3": "string" 
     }, 
     { 
      "str1": "string1", 
      "str2": "string1", 
      "str3": "string1" 
     } 
    ]' 

    To Convert **Bean2** 

    '[{ 
     "parameters": [ 
      { 
       "name": "str1", 
       "value": "string" 
      }, 
      { 
       "name": "str2", 
       "value": "string" 
      }, 
      { 
       "name": "str3", 
       "value": "string" 
      } 
     ] 
    }, 
    { 
     "parameters": [ 
      { 
       "name": "str1", 
       "value": "string" 
      }, 
      { 
       "name": "str2", 
       "value": "string" 
      }, 
      { 
       "name": "str3", 
       "value": "string" 
      } 
     ]}]' 
+0

@Filip上記の例は、私の答えを得るのに役立ちます。 –

0

Mapstructなどは一般に1つのBeanから別のBeanに変換しますが、基本的にマップに変換してBeanにラップしようとしています。 BeanMapのようなものがより適切でしょう。

未テストのサンプルコード:

class Bean2 { 
    private final Map<String, Object> properties; 

    public Bean2(Map properties) { this.properties = properties } 


    public static class Entry { String name, String value /* getters and setters */} 

    @JsonProperty 
    public List<Map<String, Object>> getProperties() { 
     // build a map of maps here, each map would have 
    } 
} 

それからちょうど:

new Bean2(new BeanMap(bean2)) 
関連する問題