Swi*_*yJD 5 ios swift alamofire objectmapper
我有看起来像这样的json数据:
{
"balance": {
"pointsEarned": 3,
"pointsAvailable": 3,
"pointsOnHold": 0,
"pointsConsumed": 0,
"nextReward": 6
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试映射“余额”,以便可以获取其他值:
class AccountBalance: Mappable {
var balance: Dictionary<String, AnyObject>?
var pointsAvailable: Int?
required init?(_ map: Map) {
}
func mapping(map: Map) {
balance <- map["balance.value"]
pointsAvailable <- map ["pointsAvailable"]
}
}
Run Code Online (Sandbox Code Playgroud)
根据objectMapper github页面,它是这样完成的:
ObjectMapper支持键内的点表示法,以便轻松映射嵌套对象。给定以下JSON字符串:
"distance" : {
"text" : "102 ft",
"value" : 31
}
Run Code Online (Sandbox Code Playgroud)
您可以按以下方式访问嵌套对象:
func mapping(map: Map) {
distance <- map["distance.value"]
}
Run Code Online (Sandbox Code Playgroud)
每当我尝试访问“余额”时,都会得到零。知道我做错了什么吗?
请注意,在您链接到的示例中,distance有一个value属性,可以通过以下方式访问map["distance.value"]:
"distance" : {
"text" : "102 ft",
"value" : 31
}
Run Code Online (Sandbox Code Playgroud)
在您的示例中,balance没有名为 的子字段value,因此map["balance.value"]将会失败。
用于map["balance"]将balance变量映射到字典:
class AccountBalance: Mappable {
var balance: Dictionary<String, AnyObject>?
var pointsAvailable: Int?
required init?(_ map: Map) {
}
func mapping(map: Map) {
balance <- map["balance"]
pointsAvailable <- map ["pointsAvailable"]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5245 次 |
| 最近记录: |