【问题标题】:How to get one value from a Codable struct with multiple values?如何从具有多个值的 Codable 结构中获取一个值?
【发布时间】:2019-05-07 04:56:18
【问题描述】:

我有一个很大的 JSON 响应和内部

{
    "availabilityResultList": [
        {
            "availabilityRouteList": [
                {
                    "availabilityByDateList": [
                        {
                            "originDestinationOptionList": [

有3个独立的

 "originDestinationOptionList": [
    {
    "fareComponentGroupList":[...]
    },
    {
    "fareComponentGroupList":[...]
    },
    {
    "fareComponentGroupList":[...]
    },
],

我可以使用 Codables 访问第一个 'fareComponentGroupList' 中的值 作为

root.availabilityResultList.first?.availabilityRouteList.first?.availabilityByDateList.first?.originDestinationOptionList.first?.fareComponentGroupList.first?.xxx

如何访问第二个和第三个 fareComponentGroupList 的值?

(对于这些愚蠢的问题,我很抱歉,但我是 swift Codables 的新手)

【问题讨论】:

    标签: ios json swift codable


    【解决方案1】:

    由于originDestinationOptionList 返回一个字典数组,只需通过索引从那里获取它。

    let originDestinationOptionList = root.availabilityResultList.first?.availabilityRouteList.first?.availabilityByDateList.first?.originDestinationOptionList
    
    let firstobject = originDestinationOptionList[0]["fareComponentGroupList"]
    let secondObject = originDestinationOptionList[1]["fareComponentGroupList"]
    
    let firstObjectsFirstItem = firstObject[0]
    
    

    如果上面给出错误,这可行(Swift 5)

    let originDestinationOptionList = root.availabilityResultList.first?.availabilityRouteList.first?.availabilityByDateList.first?.originDestinationOptionList
    
    let firstobject = originDestinationOptionList[0].fareComponentGroupList.first
    
    let firstObjectsFirstItem = firstObject?. (add the remaining part)
    

    【讨论】:

    • 它给出错误“'OriginDestinationOptionList'类型的值没有下标”?关于 let firstobject = originDestinationOptionList[0]["fareComponentGroupList"] 我认为应该是 let firstobject = originDestinationOptionList[0].fareComponentGroupList
    • 你能发布你的可编码结构类吗?
    • @Pratap谢谢,我在上面的代码的帮助下弄明白了,我不知道它是否与swift 5有关,我不得不使用我之前评论中提到的另一种方式
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多