将SwiftyJSON映射到数组

时间:2015-10-27 16:08:10

标签: swift swifty-json

let json = JSON(response.result.value!)

let things = json.array.map { jsonThing in          
   Thing()                    
}!

json.array返回一百个JSON的数组。致电map后,我最终得到一个Thing

为什么我没有Thing的新数组?

2 个答案:

答案 0 :(得分:5)

SwiftyJSON有两种getter:可选和非可选。

非可选的getter拥有" ... Value"名称语法。

可选:

json.array

非可选的:

json.arrayValue

但是要小心:如果你使用零值的非可选getter,它会崩溃。如果值可以为零,则使用可选的getter并使用if let(可选绑定)或任何其他已知技术安全地展开:可选链接,零合并等等。

答案 1 :(得分:2)

因为-> /something_else, -> /something_else_2, -> etc返回json.array,而不是[JSON]?

因此,您已在[JSON]的单个实例上调用了.map,而不是您期望的Optional<[JSON]>

您需要致电:

Array<JSON>