在 url 中使用过滤器进行 Swift JSON 解析

用户7941548

我正在尝试解析 JSON,一切正常,但是当我尝试使用 url 提供过滤器时,它在打开可选值时显示 found nil。我想知道我是否应该以其他方式提供过滤器。PS..当我在浏览器中使用它时,该网址工作正常

这是带有过滤器的 url 的样子:

https://start.jamespro.nl/v4/api/json/tasks/?filter=[{"column":"Date","operator":"=","value":"2017-08-04"}, {"column":"UserId","operator":"=","value":"2"}]

这是我的全部代码:

func apiRequestTasks(url: String) {
        apiRequestHeader(userName: "*******", passWord: "******")
        var running = false
        let urlProjects = NSURL(string: url)
        let task = session?.dataTask(with: urlProjects! as URL) {
            ( data, response, error) in
            if let taskHeader = response as? HTTPURLResponse {
                print(taskHeader.statusCode)
            }
            if error != nil {
                print("There is an error!!!")
                print(error ?? "")
            } else {
                if let content = data {
                    do {
                        let dictionary = try JSONSerialization.jsonObject(with: content) as! [String:Any]
                        print(dictionary)

                    }
                    catch {
                        print("Error: Could not get any data")
                    }
                }
            }
            running = false
        }


        running = true
        task?.resume()

        while running {
            print("waiting...")
            sleep(1)
        }

    }
用户7941548

我只是对我的 url 的过滤器部分进行了编码,它起作用了。但是谢谢大家的反应!!!

let filter = "[{\"column\":\"Date\",\"operator\":\"=\",\"value\":\"2017-08-04\"}, {\"column\":\"UserId\",\"operator\":\"=\",\"value\":\"2\"}]"
        let encodedFilter = filter.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)
        let baseUrl = "https://start.jamespro.nl/v4/api/json/tasks/?filter="
        let url = baseUrl + encodedFilter!
        apiRequestTasks(url: url)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章