Swift 4 可解码 - 带对象的数组

Swift 4 Decodable - array with objects

我正在吃一个 API 看起来非常类似于这个:

{
   "email": "hello@example.com",
   "settings": [
        {
            "setting_A": {
                "value": -65,
            }
        },
        {
            "setting_B": {
                "value": {
                    "b1": {
                        "val": 12,
                        "unit": "kg"
                    },
                    "b2": {
                        "val": 10,
                        "unit": "g"
                    }
                }
            }
        }
    ]
}

我一直在解码这个 JSON 结果,尤其是。 settings。有人可以帮我怎么做吗?

这是我目前拥有的:

struct User: Decodable  {
  let email: String
  let settings: [Setting] // not sure how to do this :(
}

花了几个小时后,我最终按照@PrashantTukadiya 的建议使用了 https://app.quicktype.io/#l=swift,并在 5 分钟内完成了所有工作。我强烈建议您使用该工具来满足您的 encoding/decoding 需求。