我正在尝试创建一个字典,我可以将其制作成JSON格式的对象并发送到服务器.
例:
var users = [
[
"First": "Albert",
"Last": "Einstein",
"Address":[
"Street": "112 Mercer Street",
"City": "Princeton"]
],
[
"First": "Marie",
"Last": "Curie",
"Address":[
"Street": "108 boulevard Kellermann",
"City": "Paris"]]
]
Run Code Online (Sandbox Code Playgroud)
我用这个功能
func nsobjectToJSON(swiftObject: NSObject) -> NSString {
var jsonCreationError: NSError?
let jsonData: NSData = NSJSONSerialization.dataWithJSONObject(swiftObject, options: NSJSONWritingOptions.PrettyPrinted, error: &jsonCreationError)!
var strJSON = NSString()
if jsonCreationError != nil {
println("Errors: \(jsonCreationError)")
}
else {
// everything is fine and we have our json stored as an NSData object. We can convert into NSString
strJSON = NSString(data: jsonData, encoding: NSUTF8StringEncoding)!
println("\(strJSON)")
}
return strJSON
}
Run Code Online (Sandbox Code Playgroud)
但我的结果是这样的:
[
{
"First" : "Albert",
"Address" : {
"Street" : "112 Mercer Street",
"City" : "Princeton"
},
"Last" : "Einstein"
},
{
"First" : "Marie",
"Address" : {
"Street" : "108 boulevard Kellermann",
"City" : "Paris"
},
"Last" : "Curie"
}
]
Run Code Online (Sandbox Code Playgroud)
问题:为什么姓氏最后?我认为它应该高于地址.请让我知道我在NSDictionary上做错了什么,因为这出错了.任何帮助将非常感谢 - 谢谢.
发表评论中已经说过的内容:字典是"无序集合".他们对其键/值对没有任何订单.期.
如果您想要有序集合,请使用字典以外的其他内容.(单项词典数组是一种方法.)您还可以编写将字典的键加载到可变数组中的代码,对数组进行排序,然后使用排序的键数组来获取键/值对.期望的顺序.
您还可以创建自己的集合类型,该类型使用字符串作为索引,并按排序顺序保留项目.Swift使这一点变得简单,尽管它的计算成本很高.
| 归档时间: |
|
| 查看次数: |
3878 次 |
| 最近记录: |