星期五, 11月 25, 2011

WebView裡$.parseJSON() fail

查了好久。我是先用setWebChromeClient()去處理WebView的onConsoleMessage() callback,將console.log()的輸出導向到Android的LogCat以便於觀察。先懷疑jQuery是不是有問題,就先拿另外一個 變數放確定可以的JSON字串丟進去parse,沒問題。那我就懷疑從addJavascriptInterface()那兒來的物件的傳回值了,直接複 製傳回結果,放到JavaScript裡當作一個字串,parse的結果,是沒問題的。那?會是型態的問題嗎?用typeof()檢查了一下,發現是 object,而非字串,真相大白。我先試著把一個空字串加到傳回值裡,然後就可以得到字串,也就可以正常parse了。再查了一下,JavaScript是有轉換函式的,叫String(),試了一下,也可以把型態是object的傳回值轉為字串。至此,就解決了parseJSON()的問題。

沒有留言: