1. 程式人生 > >將map對映成實體物件的兩種方式 將list對映成物件

將map對映成實體物件的兩種方式 將list對映成物件

將map對映成實體

一、利用外掛 

1.hfxy_merchant 為實體類 bean

2.Map<String,Object> paramMap 

3.匯入的包

  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.JSONArray;
  import com.alibaba.fastjson.JSONObject;
  import com.google.gson.Gson;
  import com.google.gson.JsonObject;

hfxy_merchant merchant = new Gson().fromJson(new JSONObject(paramMap).toJSONString(), hfxy_merchant.class);


二、利用反射

需要注意的是:利用反射的方式來做,需要注意的是javaBean引數的型別需要是封裝類int->Integer boolean->Boolean

   1.實體類

   public class hfxy_merchant {
public Integer merchant_id;
public String merchant_num;
public String merchant_name;
public Boolean is_use;

   }

2.java 類

      /**
* 將Map轉成javaBean物件
* @param map
* @param beanClass
* @return
* @throws Exception
*/
public static Object mapToObject(Map<String, Object> map, Class<?> hfxy_merchant) throws Exception {    
        if (map == null)  
            return null;    
  
        Object obj = hfxy_merchant.newInstance();  
  
        java.lang.reflect.Field[] fields = obj.getClass().getDeclaredFields();   
        for (java.lang.reflect.Field field : fields) {    
            int mod = field.getModifiers();    
            if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){    
                continue;    
            }    
  
            field.setAccessible(true);    
            field.set(obj, map.get(field.getName()));   
        }   
  
        return obj;    
    }
3.測試函式main方法

     public static void main(String[] args) {
Map<String,String> param1 = new HashMap<String, String>();
param1.put("merchant_id", "1234");
param1.put("merchant_num", "4561");
param1.put("merchant_name", "你猜");
param.put("is_use", 1);
Map<String,Object> param = new HashMap<String, Object>();
param.putAll(param1);

               hfxy_merchant mer = new hfxy_merchant();
try {
mer = (hfxy_merchant) mapToObject(param,mer.getClass());
System.out.println(mer);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(mer.merchant_num);
}

將list對映成實體

一、利用外掛

1.導包

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;

2.方法

List list = new ArrayList();
hfxy_merchant mer2 = new Gson().fromJson(new JSONArray(list).toJSONString(), hfxy_merchant.class);


相關推薦

map對映實體物件方式 list對映物件

將map對映成實體 一、利用外掛  1.hfxy_merchant 為實體類 bean 2.Map<String,Object> paramMap  3.匯入的包   import com.alibaba.fastjson.JSON;   import com.

Android專案開源到JCenter方式

前言 開發中,或多或少都會用到無私的程式猿分享的開源專案,Androidstudio中使用開源也很方便 例如家喻戶曉的Rxjava,只需要一句話 compile 'io.reactivex:rxjava:1.1.6',就可以新增到專案中,時間久了,是不是自己也想試試開源一下自己的成果

Spark中RDD轉換DataFrame的方式(分別用Java和scala實現)

 一:準備資料來源       在專案下新建一個student.txt檔案,裡面的內容為: print? <code class="language-java">1,zhangsan,20   2,lisi,21   3,wanger,1

json轉換time的方式

//yyyy-MM-dd function JsonToDate(jsondate) {     var date = new Date(parseInt(jsondate.replace("/Date(", "").replace(")/", ""), 10));    

Map集合遍歷的方式

import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap {

spark-shell 資料檔案 讀 表 的方式!!! 相對路徑!!hdfs dfs -ls

park SQL應用 Spark Shell啟動後,就可以用Spark SQL API執行資料分析查詢。 在第一個示例中,我們將從文字檔案中載入使用者資料並從資料集中建立一個DataFrame物件。然後執行DataFrame函式,執行特定的資料選擇查詢。 文字檔案cu

redis儲存物件方式對比

redis儲存物件結構的兩種方式使用redis string結構儲存物件序列化後的資料使用redis hash結構儲存物件,field為欄位名稱測試例子還是大家喜歡的使用者資訊public class

hibernate的sql查詢出來封裝實體方式

1.在用hibernate的查詢資料庫時,即可以用hql,也可以用sql語句至於用hql語句查出來的結果可以是一個實體物件 如: public List<CraGovernment> getAll() { String sql = "from CraGov

java程式漢字轉拼音的方法-----------------第二方式

同樣需要下載pom檔案,匯入相應的jar包!!!!!! import net.sourceforge.pinyin4j.PinyinHelper;   import net.sourceforge.pinyin4j.format.HanyuPi

Map集合的遍歷方式以及TreeMap集合儲存自定義物件實現比較的Comparable和Comparator方式

Map集合的特點 1、Map集合中儲存的都是鍵值對,鍵和值是一一對應的 2、一個對映不能包含重複的值 3、每個鍵最多隻能對映到一個值上   Map介面和Collection介面的不同 Map是雙列集合的根介面,Collection是單列集合的根介面 1、Map是雙列的(是雙列集合的根介

詳解Go開發Struct轉換map方式比較

詳解Go開發Struct轉換成map兩種方式比較     本篇文章主要介紹了詳解Go開發Struct轉換成map兩種方式比較,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧   最近做Go開發的時候接觸到了一個新的orm第

java程式漢字轉拼音的方法

1.使用pinyin4j將漢字轉成拼音,附件為pinyin4j的jar包  Java程式碼   import net.sourceforge.pinyin4j.PinyinHelper;   import net.sourceforge.piny

Jquery外掛的定義方式:自己總結的——(Date型format("yyyy年MM月dd日hh小時mm分ss秒")的外掛)

第一種: $.extend({ calAjaxLoadTime: function() { var ajaxTime2 = (new Date).getTime(); $("#loadTime").text((

資原始檔的圖片轉換bitmap 的方法

 1.Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.mingchuseal, newOpts);         //本地資源轉換成bitmap 2.Drawable

hibernate實體類與資料表對映方式

1、傳統方法是通過XX.hbm.xml對映檔案      注意:1)JPA jar包在hibernate3.6之後被放入hibernate-core包中。              2)<mapping resource="com/X/X/X.hbm.xml"/>

Java應用部署到SAP雲平臺neo環境的方式

服務器 eclips ges F5 原創 技術文章 cli c2c 平臺 方法1 - 使用Eclipse Eclipse裏新建一個服務器: 服務器類型選擇SAP Cloud Platform: 點Finish,成功創建了一個Server: Eclipse裏選擇要部署

vue Object.assign響應式修改物件方式

原因: this.obj可能是父級元件傳過來的prop,而為了遵循 單向資料流 的設計理念,不直接修改該資料物件,而是生成一個新的資料物件   兩種寫法 1. this.obj = Object.assign({}, this.obj, {k: v})(推薦寫法) 表示式右

HTML頁面自動儲存為PDF檔案並上傳的方式(一)-前端(react)方式

一、業務場景   公司的樣本檢測報告以React頁面的形式生成,已調整為A4大小的樣式並已實現分頁,業務上需要將這個網頁生成PDF檔案,並上傳到伺服器,後續會將這個檔案傳送給客戶(這裡不考慮)。 二、原來的實現形式   瀏覽器原生方法:window.print()可以將網頁儲存為PDF檔案,由於檢測報告

java之執行緒建立的方式,六狀態和匿名內部類建立子類或實現類物件

一.匿名內部類建立子類或實現類物件 new Test(){} 相當於建立了Test類的子類物件 並且沒有類名 建立介面實現類 new 介面名() {};介面實現類的物件 注意 : new 後邊是類或者介面名 大括號內是類或者介面中的方法 public

map遍歷的方式

Map介面概述 * 是一個雙列集合,儲存元素時一次儲存兩個元素。 * 一個元素稱為鍵:key * 一個元素稱為值:value * 鍵和值是成對出現的,統稱鍵值對。 Map集合的特點 * 鍵必須唯一 * 值可以重複 1.Map集合遍歷方式keySet方法 通過