TableTypeAdapterFactory

Posted by Bruce Tsai

說明

以 Gson 處理 Table 元件的 json 序列化。

範例

DataSource dataSource = 
    DataSources.unpooledDataSource(url, account, password);
dataSource = DataSources.pooledDataSource(dataSource);
Connection connection = dataSource.getConnection();
PreparedStatement stmt = 
    connection.prepareStatement("select id, name from Company");
ResultSet resultSet = stmt.executeQuery();

Table table = new Table();
table.fill(resultSet);

// 加入計算欄
table.addColumn(new ComputedColumn<CharSequence>("公司名") {
    @Override
    public CharSequence compute(TableRow row) {
        return String.format("公司名稱為: %s", row.cell("name"));
    }
});

table.close();
stmt.close();

// Gson 序列化設定
Gson gson = new GsonBuilder()
        .setPrettyPrinting()
        .registerTypeAdapterFactory(new TableTypeAdapterFactory())
        .create();

System.out.println(gson.toJson(table));

輸出結果

[
  {
    "ID": "10065309",
    "Name": "鎮遠水電工程有限公司",
    "公司名": "公司名稱為: 鎮遠水電工程有限公司"
  },
  {
    "ID": "10066044",
    "Name": "班尼頓一級方程式股份有限公司",
    "公司名": "公司名稱為: 班尼頓一級方程式股份有限公司"
  },
  {
    "ID": "10066127",
    "Name": "國立中山大學南區促進產業發展研究中心",
    "公司名": "公司名稱為: 國立中山大學南區促進產業發展研究中心"
  },
  {
    "ID": "10066140",
    "Name": "明惠貿易股份有限公司",
    "公司名": "公司名稱為: 明惠貿易股份有限公司"
  },
  {
    "ID": "10066438",
    "Name": "吉紡纖維有限公司",
    "公司名": "公司名稱為: 吉紡纖維有限公司"
  }
]

results matching ""

    No results matching ""