快速将[String:Any]转换为body参数

时间:2020-06-19 06:01:13

标签: ios json swift xcode dictionary

我有一个结构

struct CheckBalanceInfo {
  let value: [String: Any]
  let id: String
}

并且我想将此值发送到服务器,字典有问题,如何通过单个数据将该字典转换为键值

let model = CheckBalanceInfo()
[ 
"id": model.id,
String: Any,
String: Any,
String: Any
]

1 个答案:

答案 0 :(得分:1)

您可以使用Codable(或Encodable)对模型进行编码

编辑模型以支持通用类型(可编码)

struct CheckBalanceInfo<T>: Codable where T: Codable {
    let value: [String: T]
    let id: String
}

让我们假设您的模型项为:

let model = CheckBalanceInfo(value: ["key" : "value"], id: "id")

编码:

let jsonData = try! JSONEncoder().encode(model)
// Json string
let jsonString = String(data: jsonData, encoding: .utf8)