Luego de de esta larga búsqueda de información dimos con la respuesta esta inconveniente que presentan muchos de nuestros usuarios. Te brindamos la respuesta y deseamos resultarte de mucha ayuda.
Solución:
Debería ser rs.getString
porque getString
usado con VARCHAR
, TEXT
podemos considerar JSon
como un String
escriba, para que pueda obtener el resultado, usando getString
.
Ejemplo sencillo
Verifique dos veces con MySQL 5.7 y PostgreSQL 9.4:
MySQL 5.7 SQL
create database db_test;
create table table_test(json JSON);
INSERT INTO table_test VALUES('"key1": "value1", "key2": "value2"');
CÓDIGO
public static void checkJSon()
try
Class.forName(DRIVER);
Connection connection = DriverManager.getConnection(DB_URL, DB_username, DB_password);
String q = "SELECT * FROM table_test";
PreparedStatement preparedStatement = connection.prepareStatement(q);
preparedStatement.execute();
ResultSet rs = preparedStatement.executeQuery();
while (rs.next())
System.out.println(rs.getString("json"));
catch (ClassNotFoundException
Me imprime:
"key1": "value1", "key2": "value2"
Si para ti ha resultado provechoso nuestro post, te agradeceríamos que lo compartas con otros seniors de esta forma nos ayudas a dar difusión a esta información.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)