小编Sin*_*man的帖子

解码有时可能会改变的数据

我有一个名为Info的结构,该结构根据接收到的数据进行解码。但是有时,数据中的值之一可以是double或double数组。我该如何设置我的结构?

这是我的结构:

struct Info: Decodable {

    let author: String
    let title: String
    let tags: [Tags]
    let price: [Double]

    enum Tags: String, Decodable {
        case nonfiction
        case biography
        case fiction
    }

}
Run Code Online (Sandbox Code Playgroud)

根据网址,我要么获得双倍价格

{
    "author" : "Mark A",
    "title" : "The Great Deman",
    "tags" : [
      "nonfiction",
      "biography"
    ],
    "price" : "242"

}
Run Code Online (Sandbox Code Playgroud)

或者我将其作为双打数组获得

{
    "author" : "Mark A",
    "title" : "The Great Deman",
    "tags" : [
      "nonfiction",
      "biography"
    ],
    "price" : [
    "242",
    "299",
    "335"
    ]

}
Run Code Online (Sandbox Code Playgroud)

我想设置我的结构,以便如果我收到一个double而不是double数组,则price应该解码为1 double的数组。

任何帮助将不胜感激。 …

swift swift4 codable decodable

1
推荐指数
1
解决办法
49
查看次数

标签 统计

codable ×1

decodable ×1

swift ×1

swift4 ×1