【问题标题】:API URL to post json formatted data用于发布 json 格式数据的 API URL
【发布时间】:2019-03-18 17:29:22
【问题描述】:

如何将文本字段中的代码转换为 json 格式的数据。

以下是我当前的代码,但是当单击按钮时,它似乎不会将文本字段中的数据传输到 json。这段代码中是否有任何错误?

@IBAction func submitButton(_ sender: Any) {

    // parse in paramaters
    let parameters = ["Name": nameTextField, "Email": emailTextField, "DOB": dateTextField] as [String : Any]

    guard let url = URL(string: "https://prod-69.westeurope.logic.azure.com/workflows/d2ec580e6805459893e498d43f292462/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=zn8yq-Xe3cOCDoRWTiLwDsUDXAwdGSNzxKL5OUHJPxo") else { return }
    var request = URLRequest(url: url)

    // let url session know that this is a post request
    request.httpMethod = "POST"
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")

    // convert paramaters to JSON
    guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else { return }
    request.httpBody = httpBody

    let session = URLSession.shared
    session.dataTask(with: request) { (data, response, error) in
        if let response = response {
            print(response)
        }

        if let data = data {
            do {
                let json = try JSONSerialization.jsonObject(with: data, options: [])
                print(json)
            } catch {
                print(error)
            }
        }
        }.resume()
}

【问题讨论】:

  • 你的意思是nameTextField.text!等吗?
  • 我建议之后也使用?? "" 以避免因任何原因出现异常。
  • 不要忽略错误。在do/catch 中将try? 替换为try,这样您就知道问题所在了。
  • @KSigWyatt UITextFieldtext 属性确实是可选的,但实际上绝不是 nil

标签: ios json swift api url


【解决方案1】:

nameTextFieldemailTextFielddateTextField 类型为StringUITextField。确保您传递的是 UITextField.text 属性,而不是 UITextField 本身。

见下文:

guard let name = nameTextField.text,
    let email = emailTextField.text,
    let dob = dateTextField.text else {
        return
}

let parameters: [String: String] = ["name": name, "email": email, "dob": dob]

【讨论】:

    猜你喜欢
    • 2019-04-04
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 2015-06-04
    • 1970-01-01
    相关资源
    最近更新 更多