Iphone Swift中的词典没有给出正确的响应
我需要一个{}中的Dictionary响应,但它们以[]的形式给出。请帮忙。这是我的密码Iphone Swift中的词典没有给出正确的响应,iphone,swift,swift2,Iphone,Swift,Swift2,我需要一个{}中的Dictionary响应,但它们以[]的形式给出。请帮忙。这是我的密码 func getRequestObject() -> Dictionary<String,AnyObject> { var requestObject = Dictionary<String,AnyObject>() requestObject["username"] = "a" requestObject["password"
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}进行比较。让我们知道结果!