javaにおけるmapと実体類の相互変換操作


javaにおけるmapと実体類の相互変換
1.pom.xmlに依存パッケージを導入する

<dependency>
   <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.54</version>
</dependency>
2.制御クラスに導入する

import com.alibaba.fastjson.JSON;
3.タイプ変換

JSON.parseObject(JSON.toJSONString(   ),        .class);

//   Map        
User user = JSON.parseObject(JSON.toJSONString(user01), User.class);
System.out.println(user);
//           Map
Map map = JSON.parseObject(JSON.toJSONString(user), Map.class);
System.out.println(map);
4.変換成功

mapをエンティティクラスに変換する2つの方法
今日はプロジェクトを書く時に、mapの中の値を対応するエンティティ類に書く必要があります。以前は同じ問題があった時に必要なデータはいくつかのフィールドしかないので、getとsetの方式を通じて感じてもいいです。特に面倒ではないです。今回はほとんどのフィールドが必要です。全部で十数個がありますが、やはりこれを採用するのは面倒くさいです。
資料を調べて、いい方法が二つあります。
方法1

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.30</version>
 </dependency>

JSON.parseObject(JSON.toJSONString(Map<String, ? extends Object>), Class<T> bean);
fastjsonを通じて、まずmapをjson文字列に変換してから、json文字列を実体類に変換します。
方法2

<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.3</version>
</dependency>

BeanUtils.populate(Object bean, Map<String, ? extends Object> map)
この方法はmap<key、value>のkeyを遍歴します。beanにこの属性があれば、このkeyに対応するvalue値をbeanの属性に与えます。
以上は個人の経験ですので、参考にしていただければと思います。