【发布时间】:2015-11-27 22:54:00
【问题描述】:
我使用库 ObjectMapper 将 json 与我的对象映射,但我在映射根 json 数组时遇到了一些问题。
这是收到的json:
[
{
CustomerId = "A000015",
...
},
{
CustomerId = "A000016",
...
},
{
CustomerId = "A000017",
...
}
]
这是我的对象
class Customer : Mappable
{
var CustomerId : String? = nil
class func newInstance(map: Map) -> Mappable? {
return Customer()
}
func mapping(map: Map) {
CustomerId <- map["CustomerId"]
}
}
我将控制器中的 json 映射为
let json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &error) as! NSArray
if (error != nil) {
return completionHandler(nil, error)
} else {
var customers = Mapper<Customer>().map(json)
}
但它不起作用,我尝试了Mapper<[Customer]>().map(json),但它也不起作用。
最后,我尝试创建一个包含 Customer 数组的新 swift 对象 CustomerList,但它不起作用。
您知道如何映射根数组的 json 吗?
谢谢。
【问题讨论】:
-
如果我错了,请纠正我,但如果你收到一个数组,值不应该在 brackets 而不是 parentheses 内这个
[ {CustomerId = "A000015" }, {...} ]? -
是的,我认为是XCode中println的编码显示。当我使用 println 时,它会用括号和分号显示。但在 Postman 上,它带有括号和逗号。