将JSON对象从JavaScript传递到Android

将JSON对象从JavaScript传递到Android,javascript,android,json,code-injection,Javascript,Android,Json,Code Injection,到目前为止,我的应用程序记录了在web视图中执行的许多函数,并将它们存储到变量中。这是使用JavaScript完成的,我已经将它注入到我的Android应用程序中。到目前为止,我已经使用JSON stringify函数创建了一个JSONObject,如图所示 var myJSONText = JSON.stringify(chars); 我的问题是如何将myJSONText变量从JavaScript转换成Java,以便在那里处理它。我已经疲于寻找如何做到这一点,但没有任何运气。如有任何帮助或链

到目前为止,我的应用程序记录了在web视图中执行的许多函数,并将它们存储到变量中。这是使用JavaScript完成的,我已经将它注入到我的Android应用程序中。到目前为止,我已经使用JSON stringify函数创建了一个JSONObject,如图所示

var myJSONText = JSON.stringify(chars);

我的问题是如何将
myJSONText
变量从JavaScript转换成Java,以便在那里处理它。我已经疲于寻找如何做到这一点,但没有任何运气。如有任何帮助或链接,将不胜感激。

在您的webview中添加JavascriptInterface,包括:

webView.addJavascriptInterface(new MyJavascriptInterface(), "HTMLOUT");
webView.getSettings().setJavaScriptEnabled(true);
让JavascriptInterface具有如下方法:

public void receiveJSON(String json);
在javascript中使用以下命令调用此方法:

document.write(window.HTMLOUT.receiveJSON(myJSONText));

您的数据需要提交到Java应用程序。这可以通过使用Ajax实现。我不能使用JavaScriptInterface吗?我不知道从哪里开始使用ajax,因为我以前没有使用过它。我需要在java方法中添加什么?你是说在receiveJSON中?这就是您从javascript获得JSON的地方,因此您可以开始随意摆弄。开始胡闹吧!我已经尝试过创建receiveJSON方法,并将下面的内容放进去。public void receiveJSON(字符串myJSONText)抛出JSONException{JSONObject myObject=new JSONObject(myJSONText);Convert=myObject.toString();Log.i(标记,“TestingGGGGGG”);}问题是我无法调用该方法,否则会导致错误。请帮我解决这个问题。