我正在尝试为动态数据编写一个结构。数据的键是未知的,它们的值也是未知的。结构如下所示:
enum EntryData: Codable {
case string(String)
case array([EntryData]
case nested([String: EntryData])
}
struct Entry: Codable {
var data: [String: EntryData]
}
这样做的目标是能够像这样解码 JSON:
{
"data": {
"testA": "valueA",
"testB": ["valueB", ["valueC"]],
"testC": {
"testD": "valueD",
"testE": ["valueE", "valueF"]
}
}
}
并具有以下代码:
var data = EntryData(data: [
"testA": .string("valueA"),
"testB": .array([.string("valueB"), .array([.string("valueC")])]),
"testC": .nested([
"testD": .string("valueD"),
"testeE": .array([.string("valueE"), .string("valueF")])
])
])
编码为上述 JSON 输出。
这在 Swift 中可能吗?如果是这样,实现会是什么样子?
提前谢谢了。