【发布时间】:2018-08-17 02:36:11
【问题描述】:
我有一个这样的 json 响应
{
"name":"test",
"params":{
"param1":"testA",
"param2":4055,
"param3":9593.34959,
"question":"is this is a test?",
"anything":"testing?",
"random":true
},
"price":103.3
}
我的可编码结构看起来像这样
struct:Codable {
var name:String
var params:[String:String]?
var price:Double
}
我已将 params 设置为 optional,因为有时没有 params,但很多时候有并且 codable 存在问题,因为我不知道 params 字典中的值是什么类型。有时我什至不知道钥匙是什么。我只想将它们解析为具有 Bool、Int、Double 或 String 类型值的键和值的字典。所以像这样的字典
let params = ["paramA":1, "param2":"test", "param3":true]
或者在上面的json的情况下:
let params = ["param1":"testA", "param2":4055, "param3": 9593.34959, "question":"is this is a test?", "anything":"testing?", "random":true]
我很确定我必须创建一个自定义解码器,但不完全确定如何去做。
【问题讨论】:
-
stackoverflow.com/a/46049763/4846592 也许这个答案有帮助:-)