Проблема с кодировкой URL CONNECTION JAVA - PullRequest
0 голосов
/ 08 мая 2020

Я делаю запрос на ПОЛУЧЕНИЕ API из JAVA, но некоторые символы результата неверны.

Пример: Dirección -> Dirección

Я думаю, это из-за кодировки , но я не знаю, какой использовать или как это исправить ...

Любая помощь приветствуется

Код:

import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.*;

class Main {
    public static void main(String[] args) {
        String url = " URL ";
        String jsonString = "";
        try {
            jsonString = peticionHttpGet(url);

            JSONObject obj = new JSONObject(jsonString);
            String fecha = obj.getString("Fecha");

            JSONArray arr = obj.getJSONArray("Precio");
            System.out.println(fecha);
            System.out.println(arr.length());
            System.out.println(arr.get(0));
            for (int i = 0; i < arr.length(); i++)
            {
                if(i==0) {
                    String post_id = arr.getJSONObject(i).getString("Dirección");
                }
            }

        } catch (Exception e) {

            e.printStackTrace();
        }
    }

    public static String peticionHttpGet(String urlParaVisitar) throws Exception {

        StringBuilder resultado = new StringBuilder();

        URL url = new URL(urlParaVisitar);


        HttpURLConnection conexion = (HttpURLConnection) url.openConnection();
        conexion.setRequestMethod("GET");
        conexion.setRequestProperty("Content-Type", "application/json; charset=utf-8");
        conexion.setRequestProperty("Accept", "application/json");

        BufferedReader rd = new BufferedReader(new InputStreamReader(conexion.getInputStream()));
        String linea;

        while ((linea = rd.readLine()) != null) {
            resultado.append(linea);
        }


        rd.close();


        return resultado.toString();
    }
} ```

...