通过addJavascriptInterface将JSONArray注入webiew

时间:2016-08-05 14:00:08

标签: javascript android json

我的Android应用资产本地存储了一个html页面。我想在WebView中显示它并向网页添加一些参数。

我将所有值放入JSONArray中,然后使用'addJavascriptInterface'将此JSONArray添加到网页javascript中。

但是当我尝试在javascript中使用该值时,它的类型为[object Object]并且长度未定义...

JSONArray json = buildJSONArray();

webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);

webView.addJavascriptInterface(json, "data");
webView.loadUrl("file:///android_asset/test.html");

我试图通过简单的String替换jsonArray,同样的事情发生......

如何从Android发送一个javascript参数到我的html页面?显然我错过了'addJavascriptInterface'方法...

谢谢:)

1 个答案:

答案 0 :(得分:1)

Android:将Json作为字符串返回

JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("name", "gokul");
json=jsonObject.toString();
return json;

javascript:解析json字符串

var json=JSON.parse(json);