sql >> Databáze >  >> RDS >> Mysql

Převeďte objekt obsahující opakovaná pole na JSON

Můžete použít Gson společnosti Google v tomto případě:

public String getJSONFromResultSet(ResultSet rs, String key) {
    Map json = new HashMap();
    List list = new ArrayList();
    if (rs != null) {
        try {
            ResultSetMetaData mData = rs.getMetaData();
            while (rs.next()) {
                Map<String, Object> columns = new HashMap<String, Object>();
                for (int columnIndex = 1; columnIndex <= mData.getColumnCount(); columnIndex++) {
                    if (rs.getString(mData.getColumnName(columnIndex)) != null) {
                        columns.put(mData.getColumnLabel(columnIndex),
                                rs.getString(mData.getColumnName(columnIndex)));
                    } else {
                        columns.put(mData.getColumnLabel(columnIndex), "");
                    }
                }
                list.add(columns);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        json.put(key, list);
    }
    return new Gson().toJson(json);
}

Aktualizace: Můžete zavolat getJSONFromResultSet metoda jako níže:

Connection con = DBConnectionClass.myConnection();
        PreparedStatement ps = con.prepareStatement("SELECT * FROM Customer");
      //as an example consider a table named Customer in your DB.
        ResultSet rs = ps.executeQuery();
        System.out.println(getJSONFromResultSet(rs, "customer"));


  1. SQL:spouštěč, který zabrání vložení neplatných dat do tabulky

  2. Oracle vybrat vzájemný dílčí řetězec

  3. Jak importovat data CSV do databáze MYSQL pomocí PHP CodeIgniter?

  4. Kombinace operací UNION a LIMIT v dotazu MySQL