gpt4 book ai didi

ios - 使用 Swift 将 JSON 字符串解析为对象

转载 作者:搜寻专家 更新时间:2023-11-01 06:24:14 26 4
gpt4 key购买 nike

有没有人有关于如何将 JSON 数组解析为对象集合的工作示例?在 web/SO 上找到的所有各种示例似乎在 XCode/Swift 版本之间中断。

这适用于最新的 XCode (XCode 6)。我尝试过的所有不同选项都引发了循环往复的错误。

示例 JSON:

[
{ id: 1, name: "test" },
{ id: 2, name: "test" }
]

我的目标:

class MyItem {
var id: Int32?
var name: String?
}

最佳答案

我更改了您对 MyItem 的定义并添加了打印扩展。

class MyItem {
var id: Int?
var name: String?

init(id: Int?, name: String?){
self.id = id
self.name = name
}
}

extension MyItem: Printable {
var description: String {
return "\(self.id!): \(self.name!)"
}
}

并将源字符串转换为集合:

var source = "[{ \"id\": 1, \"name\": \"test\" },{ \"id\": 2, \"name\": \"test\" }]"
var results: [MyItem] = []

var err:NSError?
var obj:AnyObject? = NSJSONSerialization.JSONObjectWithData(source.dataUsingEncoding(NSUTF8StringEncoding)!, options:nil, error:&err)
if let items = obj as? NSArray {
for itemDict in items as [NSDictionary] {
var item: MyItem = MyItem(id: itemDict.valueForKey("id")?.integerValue, name: itemDict.objectForKey("name") as? String)
results.append(item)
}
}
println(results)

不考虑一些零案例。举个例子吧。您可以使用这个流行的库:https://github.com/SwiftyJSON/SwiftyJSON如果有兴趣,请详细跟踪代码。

关于ios - 使用 Swift 将 JSON 字符串解析为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26539931/

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