0

我制作了一个 Javascript 页面来生成一个 JSON 对象,然后从 Android 设备读取它。我用以下代码阅读它

StringBuilder stringBuilder = new StringBuilder();
        HttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(url);

    try {
        HttpResponse response = client.execute(httpGet);
        StatusLine statusLine = response.getStatusLine();
        int statusCode = statusLine.getStatusCode();

        if (statusCode == 200){
            HttpEntity entity = response.getEntity();
            InputStream content = entity.getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(content));
            String line;
            while ((line = reader.readLine()) != null){
                stringBuilder.append(line);
            }
        } else {
            Log.e("JSON", "Failed to donwload file");
        }
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

问题是这段代码返回的是网页的源代码,而源代码是Javascript中的脚本,而不是执行后生成的JSON字符串。我需要 JSON 字符串,并且我需要使用 Javascript 来生成 JSON 字符串,因为我可以访问外部服务。

我还没有找到任何解决方案。我不在乎可能的解决方案是否涉及服务器或 Android 终端。

谢谢。

4

2 回答 2

0
String myresponse=Html.escapeHtml(YourStringHere);
于 2013-01-10T12:48:59.607 回答
0

尝试这个。

private class MyJavaScriptInterface {

     private MyJavaScriptInterface () {
      }

    public void setHtml(String contentHtml) {

                    //here you get the content html
    }
}
private WebViewClient webViewClient = new WebViewClient() {


 @Override
 public void onPageFinished(WebView view, String url) {
     view.loadUrl("javascript:window.ResponseChecker.setHtml"
                    + "(document.body.innerHTML);");
        }
 }
于 2013-01-10T12:58:46.883 回答