2016-04-22 107 views
0

我試圖從URL讀取以下數據:安卓:閱讀JSON

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

我試圖用這個代碼來閱讀:

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

而且我得到的以下錯誤:

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) 

你能幫我嗎?

+0

首先下載JSON響應,然後解析。通過將其URL提供給JSONObject,您無法直接獲取JSON。 – Sharj

+0

如何下載JSON responde? @Sharj – porthfind

+0

@Elenasys我只有我在這裏粘貼 – porthfind

回答

0

這是你的問題,你不容使用URL直接獲得一個JSON對象,因爲不是一個JSON對象:

JSONObject obj2 = obj.getJSONObject(site); 

您將在這裏檢查的一些例子:

Android - download JSON file from url

下載該文件,然後您將使用getJSONObject()方法。

+0

和解決方案是? – porthfind

+0

看到這裏的一些例子http://stackoverflow.com/questions/5027395/android-download-json-file-from-url下載你的.json :) – Jorgesys