¿Cómo eliminar etiquetas HTML al recibir una respuesta utilizando HttpURLConnection y la biblioteca org.json en Java?
Estoy utilizando el siguiente código para recuperar información del API:
HttpURLConnection connection;
…
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while ((line = reader.readLine()) != null) {
responseContent.append(line);
}
reader.close();
Luego convierto la respuesta a string:
String responseBody = responseContent.toString();
Después utilizo la librería org.json para parsear la información:
JSONObject ob = new JSONObject(responseBody);
JSONArray Information = ob.getJSONArray("info");
for (int i = 0; i < Information.length(); i++) {
JSONObject data= Information.getJSONObject(i);
String dataName= data.getString("data_name");
}
Como resultado obtengo algunos textos con etiquetas html cuando imprimo los valores de dataName, por ejemplo:
content name<sup></sup>
davy.ai
La presencia de etiquetas HTML en los valores de dataName sugiere que la API está devolviendo los datos en formato HTML. Para eliminar las etiquetas HTML y obtener solo el contenido de texto, se puede utilizar una biblioteca como Jsoup para analizar y limpiar el HTML. Aquí te mostramos cómo puedes modificar tu código para utilizar Jsoup:
Usa Jsoup para analizar y limpiar el HTML:
El método
Jsoup.parse(dataName)
crea un objetoDocument
a partir de la cadena HTML, y el método.text()
devuelve el contenido de texto sin etiquetas HTML.cleanText
en tu código en lugar dedataName
para obtener el contenido de texto limpio.