Iphone Swift中的词典没有给出正确的响应

Iphone Swift中的词典没有给出正确的响应,iphone,swift,swift2,Iphone,Swift,Swift2,我需要一个{}中的Dictionary响应,但它们以[]的形式给出。请帮忙。这是我的密码 func getRequestObject() -> Dictionary<String,AnyObject> { var requestObject = Dictionary<String,AnyObject>() requestObject["username"] = "a" requestObject["password"

我需要一个{}中的Dictionary响应,但它们以[]的形式给出。请帮忙。这是我的密码

 func getRequestObject() -> Dictionary<String,AnyObject> {
        var requestObject = Dictionary<String,AnyObject>()
        requestObject["username"] = "a"
        requestObject["password"] = "a"
        return requestObject
    }
但我需要回应

{"password": a, "username": a}

您必须按以下方式将字典转换为json格式:

do
{
        let jsonData = try NSJSONSerialization.dataWithJSONObject(someDict, options: NSJSONWritingOptions(rawValue:0))

        let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String

        print(jsonString)
    }
    catch let error as NSError {
        print("Could not fetch \(error), \(error.userInfo)")
    }

您必须按以下方式将字典转换为json格式:

do
{
        let jsonData = try NSJSONSerialization.dataWithJSONObject(someDict, options: NSJSONWritingOptions(rawValue:0))

        let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String

        print(jsonString)
    }
    catch let error as NSError {
        print("Could not fetch \(error), \(error.userInfo)")
    }
选中此项:

    if let jsonData = try? NSJSONSerialization.dataWithJSONObject(getRequestObject(), options: [])
    {
        let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String

        print(jsonString)
    }
输出

{"password": "a", "username": "a"}
“a”周围的引号是因为类型是字符串。如果您不需要报价,请尝试另一种快速选择,如下所示:

    var myString = getRequestObject().description
    let myRange = myString.startIndex..<myString.startIndex.advancedBy(1)
    myString.replaceRange(myRange, with: "{")
    let myRange2 = myString.endIndex.advancedBy(-1)..<myString.endIndex
    myString.replaceRange(myRange2, with: "}")
    print(myString)
var myString=getRequestObject()。说明
让myRange=myString.startIndex..检查以下内容:

    if let jsonData = try? NSJSONSerialization.dataWithJSONObject(getRequestObject(), options: [])
    {
        let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String

        print(jsonString)
    }
输出

{"password": "a", "username": "a"}
“a”周围的引号是因为类型是字符串。如果您不需要报价,请尝试另一种快速选择,如下所示:

    var myString = getRequestObject().description
    let myRange = myString.startIndex..<myString.startIndex.advancedBy(1)
    myString.replaceRange(myRange, with: "{")
    let myRange2 = myString.endIndex.advancedBy(-1)..<myString.endIndex
    myString.replaceRange(myRange2, with: "}")
    print(myString)
var myString=getRequestObject()。说明

让Swift标准库中的myRange=myString.startIndex..词典具有以下语法:

let dict = [key : value, key : value, ...]

// in your case probably
let dict = getRequestObject()
将它们打印或转换为
字符串
会产生相同的格式:
[…]

对于带大括号的格式,您可以将字典强制转换为
NSDictionary

let dict2 = dict as NSDictionary

// both result in "{key : value, key : value, ...}"
String(dict2)
print(dict2)

Swift标准库中的词典具有以下语法:

let dict = [key : value, key : value, ...]

// in your case probably
let dict = getRequestObject()
将它们打印或转换为
字符串
会产生相同的格式:
[…]

对于带大括号的格式,您可以将字典强制转换为
NSDictionary

let dict2 = dict as NSDictionary

// both result in "{key : value, key : value, ...}"
String(dict2)
print(dict2)

方括号是在Swift中表示字典的新语法:[键类型:值类型]方括号是在Swift中表示字典的新语法:[键类型:值类型]注意,在Swift 2中,必须使用try/catch进行错误处理。直到我看到这个答案,我才知道OP需要JSON格式!如果让jsonData=try!dataWithJSONObject(参数,选项:nil,错误:&error)@bhumika JSON表示JavaScript对象表示法。如果这个家伙想要JSON文本表示中的对象,那么他希望看到{“password”:“a”,“username”:“a”}。{“密码”:a,“用户名”:a}不是有效的JSON。在JSON中,字符串是零个或多个Unicode字符的序列。字符串用双引号分隔,并支持反斜杠转义语法。请注意,在Swift 2中,必须使用try/catch进行错误处理。在看到此答案之前,我不知道OP需要JSON格式!如果让jsonData=try!dataWithJSONObject(参数,选项:nil,错误:&error)@bhumika JSON表示JavaScript对象表示法。如果这个家伙想要JSON文本表示中的对象,那么他希望看到{“password”:“a”,“username”:“a”}。{“密码”:a,“用户名”:a}不是有效的JSON。在JSON中,字符串是零个或多个Unicode字符的序列。字符串用双引号分隔,并支持反斜杠转义语法。请打印它,并与所需的{“密码”:a,“用户名”:a}进行比较。让我们知道结果!打印它,并请与想要的{“密码”:a,“用户名”:a}进行比较。让我们知道结果!