在 Swift 4 中使用对象映射器解析嵌套对象
Posted
技术标签:
【中文标题】在 Swift 4 中使用对象映射器解析嵌套对象【英文标题】:Parse Nested Object using Object Mapper in Swift 4 【发布时间】:2019-03-01 10:23:18 【问题描述】:我有如下 JSON 响应
"XYZ":
"ABC":
"PQR": [
"details":
"date":1221,
"number": 30
]
我想直接获取“日期”和“号码”的详细信息。无需单独解析 XYZ、ABC、PQR 和详细信息。
struct Trial: Mappable
var PQR!
init()
init?(map: Map)
mutating func mapping(map: Map)
trialPeriod <- map["XYZ.ABC.PQR"]
我要解析到 PQR。之后,我无法解析。您能告诉我在解析到 PQR 后如何获取“详细信息”吗?
或
让我知道如何将解析直接转换为数字?我试了很多次都做不到。
【问题讨论】:
【参考方案1】:您无法解析嵌套在 PQR 之后的内容,因为它是 JSON 数组而不是 JSON 对象。所以,如果你确定它只是数组的第一个元素,你可以这样做。
struct Trial: Mappable
var PQR!
init()
init?(map: Map)
mutating func mapping(map: Map)
trialPeriod <- map["XYZ.ABC.PQR.0.details.date"]
注意.0
,它表示数组中的第一项。
或者,更好的是尝试将XYZ.ABC.PQR
解析为一个数组,然后解析其中的各个项目
【讨论】:
谢谢哥们!!在发布之前我一直在尝试 map["XYZ.ABC.PQR[0].details.date"] :D以上是关于在 Swift 4 中使用对象映射器解析嵌套对象的主要内容,如果未能解决你的问题,请参考以下文章