JSON可编码-如何处理[任何]?

问题描述 投票:0回答:1

我有一个具有以下结构的JSON:

         "properties":[

            {

               "name":"Quality",
               "values":[],
               "displayMode":0,
               "type":6
            },
            {

               "name":"Armour",
               "values":[],
               "displayMode":0,
               "type":16
            },
            {

               "name":"Evasion Rating",
               "values":[],
               "displayMode":0,
               "type":17
            }
         ]

API始终返回"value"的数组,其中第一个元素为String,第二个元素为Int

    "values":[

                  [
                     "+26%",
                     1
                  ]

               ],

到目前为止,这是我映射JSON的方式:

struct Properties: Codable {
    var name: String
    var values: [Any]
    var displayMode: Int
    var type: Int
}

此时Xcode抱怨是因为Type 'Properties' does not conform to protocol 'Decodable'

所以,我知道Any不符合codable,但问题是我不怎么将[Any]转换为Swift可以使用的东西...

有人可以分享解决方案的提示吗?

非常感谢:)

ios json swift codable any
1个回答
0
投票
在自定义init(from:)中进行解码时,您需要为此使用无密钥容器。

如果您知道总是有一个字符串后跟一个整数,则可以像这样定义值的结构

© www.soinside.com 2019 - 2024. All rights reserved.