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
- public String resultSetToJson(ResultSet rs) throws SQLException,JSONException
- {
- // json數組
- JSONArray array = new JSONArray();
-
- // 擷取列數
- ResultSetMetaData metaData = rs.getMetaData();
- int columnCount = metaData.getColumnCount();
-
- // 遍曆ResultSet中的每條資料
- while (rs.next()) {
- JSONObject jsonObj = new JSONObject();
-
- // 遍曆每一列
- for (int i = 1; i <= columnCount; i++) {
- String columnName =metaData.getColumnLabel(i);
- String value = rs.getString(columnName);
- jsonObj.put(columnName, value);
- }
- array.put(jsonObj);
- }
-
- return array.toString();
- }
上面的代碼只需要用到org.json的jar包,網上隨處可下載。