Hallo Android Programmierer,Weird JSON (Logik) Fehler?
Ich arbeite an der Analyse einer Website in meiner Anwendung.
Dies ist die Website: https://raw.github.com/currencybot/open-exchange-rates/master/latest.json
Das Problem mit diesem Code-Segment ist, dass es nicht die Preise um erhält.
private class DownloadWebPageTask extends AsyncTask<String, Void, ArrayList<Double>>
{
protected ArrayList<Double> doInBackground(String... urls)
{
ArrayList<Double> response = new ArrayList<Double>();
for (String url : urls)
{
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try
{
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
InputStreamReader isr = new InputStreamReader(content);
StringBuilder sb = new StringBuilder();
char[] buffer = new char[1024];
while (isr.read(buffer) != -1)
{
sb.append(buffer);
}
JSONObject jobj = new JSONObject(sb.toString());
JSONObject ratesObj = jobj.getJSONObject("rates");
Iterator<String> keys = ratesObj.keys();
while (keys.hasNext())
{
response.add(Double.parseDouble(ratesObj.getString(keys.next())));
}
} catch (Exception e) {
e.printStackTrace();
}
}
return response;
}
@Override
protected void onPostExecute(ArrayList<Double> result)
{
currency_values = result;
}
diese Klasse zu testen, habe ich die folgende Codezeile:
test.setText(currency_values.get(0).toString()); //test is a TextView
Die Antwort sollte 3,6733 (wenn Sie auf der Website anschauen), weil es die erste Rate in der Arraylist ist . Es gibt jedoch 82.894997 zurück, die später unter JPY gefunden wird.
Warum würde das passieren? Hat jemand eine Lösung dafür?
Also sollte ich diese JSON-Datei in den rohen Ordner in Android speichern, und bearbeiten Sie es dann so, wie es aussieht, was Sie gezeigt haben? Weil das nicht mein Json ist. Ein anderer Benutzer hat mich auf diese Seite geleitet :) – sameetandpotatoes
Ok danke für dein Update dmon, wie aktualisiere ich den JSON? – sameetandpotatoes
Nun, ich nahm an, Sie hatten die Kontrolle über die JSON, wenn Sie das nicht tun, dann müssen Sie nur das unsortierte Format manuell in ein Modell konvertieren, das Sie sortieren können. – dmon