gpt4 book ai didi

json - 如何使用swift在字典中添加多个参数[String,Dictionary]?

转载 作者:行者123 更新时间:2023-11-28 11:16:52 25 4
gpt4 key购买 nike

我正在使用 Swift 构建 iOS 应用程序。我正在使用 XCODE 6.3 版。我想使用 JSON 将数据发布到服务器。为此我创建了一个字典来执行以下操作。

//This is my dictionary right now
var parameters = ["authenticity_token":name,"platform":"mobileApp", "email": userEmail, "password": userPassword,"remember_me":"1"]

request.HTTPBody = NSJSONSerialization.dataWithJSONObject(parameters, options: nil, error: &err)

我想按如下所示的格式传递数据。

{"authenticity_token":"token","platform":"mobileApp",
"user":{"email":"email_id", "password":"123456",
"remember_me":"1"}}

现在格式中的参数字典

[platform: mobileApp, authenticity_token: a1oj3olt5jn169LHn59ZbfbrBVUyov7sDVHlOl+2YzE=, email: su@gmail.com, remember_me: 1, password: samrat]

参数的顺序也改变了。我想传递给我的字典。或者是否有可能添加两个词典。

这是我向服务器发布数据的代码。我还有一个困惑是否正确。

 func postData()
{
let name = defaults.stringForKey("secretKey")

var parameters = ["authenticity_token":name,"platform":"mobileApp", "email": userEmail, "password": userPassword,"remember_me":"1"]

println("Dic\(parameters)")
let url = NSURL(string: "http://behance.moblearn.net/users/sign_in")
var session = NSURLSession.sharedSession()
let request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"

var err: NSError?
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(parameters, options: nil, error: &err)

let jsonStr = NSString(data: request.HTTPBody!, encoding: NSUTF8StringEncoding)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
println("Post Method reached")

var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in

println("Response: \(response)")
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Body: \(strData)")
var err: NSError?
var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as? NSDictionary

if(err != nil) {
println(err!.localizedDescription)
let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Error could not parse JSON: '\(jsonStr)'")
}
else {

if let parseJSON = json {
var success = parseJSON["success"] as? Int
println("Succes: \(success)")
}
else {
let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Error could not parse JSON: \(jsonStr)")
}
}
})
task.resume()
}

我遇到了大麻烦。我是 swift 的初学者。我们将不胜感激。

最佳答案

这样做:

let innerDict = ["email": "email_id", "password": "123456", "remember_me": "1"]
let mainDict = ["authenticity_token": "token", "platform": "mobileApp", "user": innerDict]

关于json - 如何使用swift在字典中添加多个参数[String,Dictionary]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com