包含JSON对象的UIWebView中的URL显示为[Object%20Object]

时间:2016-05-18 06:44:16

标签: javascript ios json swift uiwebview

我正在尝试访问UIWebView中的URL中的JSON对象。这是我的代码 -

func webView(myWebView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {

        let requestUrl:NSURL = request.URL!

        let url:String = requestUrl.absoluteString

        if url.rangeOfString("token") != nil {
            print("exists")
            let index = url.rangeOfString("token=", options: .BackwardsSearch)?.endIndex

            let tokenValue = url.substringFromIndex(index!)

            if let data = tokenValue.dataUsingEncoding(NSUTF8StringEncoding) {
                do {
                    let json: AnyObject? = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments) as! NSDictionary
                    print(json)
                } catch {
                    print("Something went wrong")
                }
            }
            self.tokenField.text = "\(tokenValue)"
        }

请求网址'来自以下JS -

var tokenObj = {"accessToken":"abc123"};
window.location.href = "didtap://LoginButton?token=" + tokenObj;

这里的问题是当我尝试使用Swift访问JSON对象时,我看到URL为didtap://LoginButton?token=[object%20Object]

这是我的调试器的屏幕截图。

我正在寻找JSON对象,所以我可以在需要时在我的应用程序中使用该令牌。 enter image description here

1 个答案:

答案 0 :(得分:0)

你可以使用substring.stringByRemovingPercentEncoding来解决你的问题