2016-04-22 13 views
0

Ich versuche, von einer URL die folgenden Daten zu lesen:Android: lesen JSON

{"to": "DKK", "rate": 7.4417, "from": "EUR"} 

Und ich versuche es mit diesem Code zu lesen:

JSONObject obj = new JSONObject(); 
JSONObject obj2 = obj.getJSONObject(site); 
String to = (String)obj2.get("to"); 
Double rate = obj2.getDouble("rate"); 

Und ich bekomme die folgender Fehler:

org.json.JSONException: No value for http://rate-exchange-1.appspot.com/currency?from=EUR&to=DKK 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at org.json.JSONObject.get(JSONObject.java:389) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at org.json.JSONObject.getJSONObject(JSONObject.java:609) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at com.converter.android.converter.ConvertActivity$Parse.doInBackground(ConvertActivity.java:1579) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at com.converter.android.converter.ConvertActivity$Parse.doInBackground(ConvertActivity.java:1547) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at android.os.AsyncTask$2.call(AsyncTask.java:295) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
04-22 23:06:56.114 19331-19991/com.converter.android.converter W/System.err:  at java.lang.Thread.run(Thread.java:818) 

Können Sie mir bitte helfen?

+0

Zuerst JSON-Antwort herunterladen und dann analysieren. Sie können JSON nicht direkt abrufen, indem Sie seine URL für JSONObject bereitstellen. – Sharj

+0

Wie kann ich JSON Responde herunterladen? @Sharj – porthfind

+0

@Elenasys Ich habe nur was ich hier einfügen – porthfind

Antwort

0

dies Ihr Problem ist, kann man auch nichts direkt ein JSON-Objekt mit der URL erhalten, weil JSON-Objekt isn'ta:

JSONObject obj2 = obj.getJSONObject(site); 

Sie hier einige Beispiele überprüfen wird:

Android - download JSON file from url

Laden Sie die Datei herunter und verwenden Sie dann die Methode getJSONObject().

+0

und die Lösung ist? – porthfind

+0

Sehen Sie einige Beispiele hier http://StackOverflow.com/Questions/5027395/android-Download-JSon-File-from-url, um Ihre .json herunterzuladen :) – Jorgesys