如何在 swift 中将登录数据转换为 json 格式

How to convert login data in json format in swift

我是 iOS 开发的新手。我创建了一个接受用户 phone 号码和密码的视图。

让用户登录的api以json格式获取登录数据:-

{
"login_details":[
        {
            "mobile":"**************",
            "password":"XXXXXXXXX"
        }
    ]
}

我能够获取文本字段数据并打印它

let mobile = phoneTextField.text;
let password = passwordTextField.text;

我现在如何将其转换为所需的 json 格式?

您可以将输入数据存储在 Dictionary 中,并使用这样的名称标签传递它

    let userData = ["mobile":"432423432424","password":"123"]

    let dict:NSMutableDictionary = NSMutableDictionary()
    dict.setValue(userData, forKey: "login_details")

    let jsonData = try! NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions.allZeros)
    let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding) as! String

     print(jsonString)

试试这个,可能对你有帮助

    var dict: NSMutableDictionary = NSMutableDictionary()
    dict["password"] = "**************"
    dict["mobile"] = "XXXXXXXXX"
    var arr: NSMutableArray = NSMutableArray.array()
    arr.append(dict)
    var loginDict: NSMutableDictionary = NSMutableDictionary()
    loginDict["login_details"] = arr

输出:

Printing description of loginDict:
{
"login_details" =     (
            {
        mobile = XXXXXXXXX;
        password = "**************";
    }
);
}

编码愉快...

Swift 3

let dict = ["login_details": [["mobile" : mobile, "password": password]]]
let jsonData = try! JSONSerialization.data(withJSONObject: dict)
let jsonString = NSString(data: jsonData!, encoding: String.Encoding.utf8.rawValue) as! String

Swift 2

let dict = ["login_details": [["mobile" : mobile, "password": password]]]
let jsonData = try! NSJSONSerialization.dataWithJSONObject(dict, options:[])
let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding) as! String