【问题标题】:Parse Nested Object using Object Mapper in Swift 4在 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 后如何获取“详细信息”吗?

让我知道如何将解析直接转换为数字?我试了很多次都做不到。

【问题讨论】:

    标签: ios json swift parsing objectmapper


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    • 2017-06-03
    • 2013-08-01
    • 1970-01-01
    • 2020-09-27
    • 2014-12-30
    • 2016-10-14
    相关资源
    最近更新 更多