Android - 将 JSON 对象从 webview javascript 传递到 java
Posted
技术标签:
【中文标题】Android - 将 JSON 对象从 webview javascript 传递到 java【英文标题】:Android - Passing JSON object from webview javascript to java 【发布时间】:2014-03-28 10:35:29 【问题描述】:我在 java 端有一个带有 webview 和 javascript 接口的 Activity。我想用 Java 编写一个可以接受来自 webview 的 json 参数的方法。
@JavascriptInterface
public String test(Object data)
Log.d("TEST", "data = " + data);
在我的 webview javascript 上我调用:
MyAPI.test( a: 1, b: 2 );
但数据变量为空。
如何将 JSON 对象从 webview javascript 传递到本机方法?
谢谢
【问题讨论】:
你只能传递字符串和原语。 【参考方案1】:@njzk2 是对的,这样做:
在 JAVA 中:
@JavascriptInterface
public String test(String data)
Log.d("TEST", "data = " + data);
return "this is just a test";
在 JS 中:
// some code
var result = test(" a: 1, b: 2 ");
alert(result);
//some code
function test(args)
if (typeof android != "undefined") // check the bridge
if (Android.test!= "undefined") // check the method
Android.test(args);
【讨论】:
【参考方案2】:您可以使用 GSON 库或类似的库来创建字符串化 JSON 到 Java 对象,并在 JS 端使用 JSON.Stringify(data)
【讨论】:
以上是关于Android - 将 JSON 对象从 webview javascript 传递到 java的主要内容,如果未能解决你的问题,请参考以下文章
是否有任何用于将 JSON 对象传递给 android 的 PHP 配置?