Ich versuche, auf diese JSON-Datei zuzugreifen: http://www.cloudpricingcalculator.appspot.com/static/data/pricelist.json mit Java.JSON Url gibt etwas anderes zurück?
Aber wenn ich es lese, gibt es mir manchmal eine JSON-Zeichenfolge (das ist in Ordnung) und manchmal gibt es mir etwas anderes und json.simple.parser werfen eine Unexpected character(<) at position 0
. Basierend auf was ich in StackOverflow gelesen habe, kann es sein, dass es XML statt JSON zurückgibt. Da meine URL "JSON" ist, wie ist es möglich?
Hier ist der Code ich verwende:
String baseUrl = "http://www.cloudpricingcalculator.appspot.com/static/data/pricelist.json";
...
URL url = new URL(this.baseUrl);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String l;
String json = "";
System.out.println(url);
while((l=in.readLine()) != null){
System.out.println(l);
json+=l;
}
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject) parser.parse(json);
und das Protokoll <
durch eine Menge von Plätzen und unbekannte Zeichen wie YO [s> È und einem Fehler Unexpected character() at position 0.
Möglicherweise gibt es Sie json zurück, aber unvollständig, wodurch die Syntax durcheinander gebracht wird. Das klingt für mich plausibler als etwas, das JSON einen Moment und XML den anderen zurückgibt. Könnte aber falsch sein, interessantes Problem :) –
Ich schlage vor, dass Sie das Ergebnis protokollieren, bevor Sie versuchen, es zu analysieren - so können Sie sehen, was vor sich geht, anstatt zu raten. Sie sollten auch einen 'StringBuilder' anstelle einer solchen String-Verkettung verwenden. –
Wenn ich das Ergebnis protokolliere, gibt es mir etwas mit unbekannten Zeichen, das mit
Romain