【问题标题】:passing a JSON object from JavaScript to Android将 JSON 对象从 JavaScript 传递到 Android
【发布时间】:2014-07-10 09:57:09
【问题描述】:

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

var myJSONText = JSON.stringify(chars);

我的问题是如何将 myJSONText 变量从 JavaScript 获取到 Java,以便我可以在那里摆弄它。我已经厌倦了寻找如何做到这一点,但没有任何运气。任何帮助或链接将不胜感激。

【问题讨论】:

  • 您的数据需要提交给 Java 应用程序。这可以通过使用 Ajax 来完成。
  • 我不能使用 JavaScriptInterface 吗?我不知道从哪里开始使用 ajax,因为我以前没有使用过它。

标签: javascript android json code-injection


【解决方案1】:

将 JavascriptInterface 添加到您的 web 视图中:

webView.addJavascriptInterface(new MyJavascriptInterface(), "HTMLOUT");
webView.getSettings().setJavaScriptEnabled(true);

让 JavacriptInterface 有一个类似的方法:

public void receiveJSON(String json);

在 javascript 中调用此方法:

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

【讨论】:

  • java方法里需要放什么?
  • 你的意思是在receiveJSON中?这就是你从 javascript 获取 JSON 的地方,所以你可以开始随心所欲地摆弄。
  • 哈哈。开始摆弄! ?
  • 我已经尝试创建接收 JSON 方法并将以下内容放入。 public void receiveJSON(String myJSONText) throws JSONException { JSONObject myObject = new JSONObject(myJSONText);转换 = myObject.toString(); Log.i(TAG, "testinggggg");问题是我无法调用该方法而不会导致错误可以帮助我解决这个问题。
猜你喜欢
  • 2014-03-28
  • 1970-01-01
  • 1970-01-01
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 2012-03-29
  • 2014-09-01
  • 1970-01-01
相关资源
最近更新 更多