Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Konwertuj obiekt zawierający powtarzające się pola na JSON

Możesz użyć Gson Google w tym przypadku :

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);
}

Aktualizacja: Możesz wywołać getJSONFromResultSet metoda jak poniżej:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobieranie tagów na podstawie identyfikatora posta

  2. dlaczego pojawia się błąd `tcgetattr`, gdy ssh jest używany do zrzucania pliku kopii zapasowej na inny serwer?

  3. Zapytanie SQL ze sprzężeniem w celu uzyskania zagnieżdżonej tablicy obiektów

  4. Sql Łączenie wielu rekordów w jeden rekord

  5. Aktualizacja MySQL z wyborem podrzędnym