0

Android デバイスから読み取るための JSON オブジェクトを生成する Javascript ページを作成しました。私は次のコードでそれを読みました

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

問題は、このコードが Web ページのソース コードを返し、ソース コードが 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 に答える