2013-05-30 133 views
0

我正在使用android函數ShouldInterceptRequest來截獲我的webview的請求。但是在攔截請求時我需要發送一些數據(一個JSON對象)。我知道android函數必須返回包含mimetype,編碼和包含我想發送的數據的流的WebResourceResponse對象。我已經嘗試了許多解決方案,但每次我正在尋找使用Javascript接收的數據類型時,它總是一個STRING,而且我絕對需要直接使用JSON對象(不想執行JSON解析)。通過ShouldInterceptRequest發送JSON對象

我中InputStream我ShouldInterceptRequest Java代碼:

stream = new ByteArrayInputStream(jsObject.toString().getBytes("UTF-8")); 
return new WebResourceResponse("application/json; charset=UTF-8", null, stream); 

那麼,有沒有一種方法,以直接接收一個JSON對象JSON對象到流(InputStream中或別的東西)轉換和不是一個字符串?

Thx爲您的幫助!

回答

0

我發現的唯一解決方案是改變我的JavaScript。 MIME類型無效。我正在使用JQuery.ajax()方法(http://api.jquery.com/jQuery.ajax/),在此配置中將dataType設置爲JSON,這種方法適用於我。我意識到這是間接的做一個JSON.parse,但它似乎仍然在它以前自動檢測類型的瀏覽器中工作,所以不需要捕獲解析失敗,因爲它已經是一個對象。