我有一个名为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的数组。
任何帮助将不胜感激。 …