2017-09-19 40 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

相关问题