2017-09-19 43 views
0

我正在開發一個Android Webview應用程序。我需要從Javascript調用一個函數,並且Java函數應返回一個JSON對象。如果只有一個值我的JSON對象,我可以從Javascript訪問它。但如果有多個我得到值undefined將json對象從android(java)傳遞到Webview中的javascript

例如:在的Java方法

JSONObject ob = new JSONObject(); 
ob.put("hello","hai"); 
return String.valueOf(ob); 

的Javascript

data = app.getValue(); 
obj = JSON.parse(data) 
console.log(obj.hello); 

上面的代碼工作正常,但,

的Java方法

JSONObject ob = new JSONObject(); 
ob.put("hello","hai"); 
ob.put("abc","xyz"); 
return String.valueOf(ob); 

的Javascript

data = app.getValue(); 
obj = JSON.parse(data) 
console.log(obj.hello); <- doesn't work 
console.log(obj[0].hello); <- doesn't work 
+0

你能試着更換將String.valueOf問題 ()與[toString](https://developer.android.com/reference/org/json/JSONObject.html#toString())方法 – slesh

+0

它的工作..謝謝:) – Jops

+0

請正確的答案,所以我們知道它的s olved – Steven

回答

0

感謝@ slesh,我終於能夠解決我從return String.valueOf(ob);更改爲此return obj.toString();

+0

當你編寫*** obj [0] ***時,你可以訪問數組的第一個項目,所以要成爲這樣的語法工作,這個*** obj ***應該是一個數組。 – slesh

相關問題