Parsowanie strony WWW na json

Odpowiedz Nowy wątek
2016-10-23 13:38
0

Witam,
potrzebuje pobrać zawartość strony pkp a dokładniej godziny odjazdu i przyjazdu i zprasowac to na JSON, niestety w czasie tworzenia JSONObject wyskakuje mi wyjątek o błednej wartosci tekstu. Mógłby ktoś coś zaradzić.

KOD:

    private static String readAll(Reader rd) throws IOException {
        StringBuilder sb = new StringBuilder();
        int cp;
        while ((cp = rd.read()) != -1) {
            sb.append((char) cp);
        }
        return sb.toString();
    }

    public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
        InputStream is = new URL(url).openStream();
        try {
            BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
            String jsonText = readAll(rd);
            JSONObject json = new JSONObject(jsonText);
            return json;
        } finally {
            is.close();
        }
    }

    public static void main(String[] args) throws IOException, JSONException {
        JSONObject json = readJsonFromUrl("http://rozklad-pkp.pl/pl/kryteria_wyszukiwania");
        System.out.println(json.toString());
        System.out.println(json.get("id"));
    }

WYJĄTEK:

Exception in thread "main" org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]

Pozostało 580 znaków

2016-10-23 14:04
Pijany Mleczarz
0

Obiekty JSONa zaczynają się od nawiasu klamrowego '{'

Także gdzieś w Stringu powinieneś dodać '{' i na końcu '}'

Poczytaj o JSON notation.

Pozostało 580 znaków

2016-10-23 14:34
0

Rozumiem tylko jeżeli dodam klamry w tym stringu to znowu wyskakuje bład o nieodpowiedni znak, a jezeli wkleje to do jakeigoś konwertera online html na json to bez problemu działa i nie da się tego w taki sposób w javie zrobic ?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0