json - Swift JSON 解析,在 url 中使用过滤器

标签 json swift

我正在尝试解析 JSON,一切正常,但是当我尝试使用 url 提供过滤器时,它说在解包可选值时发现 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)
        }

    }

最佳答案

我认为问题在于您创建 URL 的方式,请尝试如下操作:

let filters = "[\"column\":\"Date\",\"operator\":\"=\",\"value\":\"2017-08-04\"}, {\"column\":\"UserId\",\"operator\":\"=\",\"value\":\"2\"}]"


if var url = URLComponents(string: "https://start.jamespro.nl/v4/api/json/tasks") {
    url.query = "filter=:\(filters)"
    print ("url", url.string ? "invalid url")
}

关于json - Swift JSON 解析,在 url 中使用过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45508591/

相关文章:

Javascript Node js 搜索并返回文件中包含字符串的行

ios - 自定义 UITableViewCell 只显示一个 UILabel,即使 Storyboard上有两个

objective-c - 使用 Swift 的 Epson 打印机找不到 arm64 的符号

swift - 如何使用 swift 4.2 了解 KVC

ios - 如何根据实现该协议(protocol)的两个实例的身份为协议(protocol)实现 Equatable 协议(protocol)?

ios - Swift2 - 在嵌套 JSON 中使用 Alamofire 3

json - SwiftyJSON-迭代具有 ID 的非数组对象

ios - 我怎样才能在 UILabel 的上部文本下面开始这个剩余文本?

java - Android Studio 网络.httpResponse@4e0cae2

javascript - 执行函数查看 JSON 文件是否包含特定字符串