Android-将JSON对象从webview javascript传递到java

Android-将JSON对象从webview javascript传递到java,javascript,android,json,webview,Javascript,Android,Json,Webview,我有一个活动,在java端有一个webview和一个javascript接口。我想用java编写一个方法,可以从webview接受json参数 @JavascriptInterface public String test(Object data) { Log.d("TEST", "data = " + data); } 在我的webview javascript上,我调用: MyAPI.test({ a: 1, b: 2 }); 但是数据变量为null 如何将JSON对象从webv

我有一个活动,在java端有一个webview和一个javascript接口。我想用java编写一个方法,可以从webview接受json参数

@JavascriptInterface
public String test(Object data) {
    Log.d("TEST", "data = " + data);
}
在我的webview javascript上,我调用:

MyAPI.test({ a: 1, b: 2 });
但是数据变量为null

如何将JSON对象从webview javascript传递到本机方法


谢谢

@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);
      }
   }
}

您可以使用库或类似工具来创建字符串化JSON到Java对象,并且在JS端
JSON.Stringify(data)
只能传递字符串和原语。