Java資料庫ResultSet轉json實現

來源:互聯網
上載者:User

http://blog.csdn.net/xiao__gui/article/details/8612503

 

現在有很多json相關的Java工具,如json-lib、gson等,它們可以直接把JavaBean轉換成json格式。

在開發中,可能會從資料庫中擷取資料,希望直接轉成json數組,中間不通過bean。

 

比如進行下面的轉換:

 

資料表:

id

name

age

1

xxg

23

2

xiaoming

20

 

轉換成json數組:

[

            {

               "id": "1",

                "name":"xxg",

                "age": "23"

            },

            {

               "id": "2",

                "name":" xiaoming",

                "age":"20"

            }

]

 

實現很簡單,就是把查詢結果ResultSet的每一條資料轉換成一個json對象,資料中的每一列的列名和值組成索引值對,放在對象中,最後把對象組織成一個json數組。

 

 

[java] view plaincopy

 
  1. public String resultSetToJson(ResultSet rs) throws SQLException,JSONException  
  2. {  
  3.    // json數組  
  4.    JSONArray array = new JSONArray();  
  5.     
  6.    // 擷取列數  
  7.    ResultSetMetaData metaData = rs.getMetaData();  
  8.    int columnCount = metaData.getColumnCount();  
  9.     
  10.    // 遍曆ResultSet中的每條資料  
  11.     while (rs.next()) {  
  12.         JSONObject jsonObj = new JSONObject();  
  13.          
  14.         // 遍曆每一列  
  15.         for (int i = 1; i <= columnCount; i++) {  
  16.             String columnName =metaData.getColumnLabel(i);  
  17.             String value = rs.getString(columnName);  
  18.             jsonObj.put(columnName, value);  
  19.         }   
  20.         array.put(jsonObj);   
  21.     }  
  22.     
  23.    return array.toString();  
  24. }  

 

 

上面的代碼只需要用到org.json的jar包,網上隨處可下載。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.