我有一个像这样的jsonArray数据:
[
{
"data1":"data1",
"data2":"data2",
"data3":"data3",
},
{
"data1":"data1",
"data2":"data2",
"data3":[
{
"data1":"data1",
"daya2":"data2"
}]
}
]
Data3可以是字符串或类似上面的String数组。我的结构是:
struct Datas: Decodable{
let data1: String?
let data2: String?
let data3: String?
}
当data3为字符串时没有问题,但是当data3为数组时出现错误
“预期对String进行解码,但找到了一个数组。”,底层错误:nil))
我无法解决。什么是Data3类型?任何对象都不起作用。
最佳答案
您可能要使用AnyObject
类型而不是Any
。然后使用if let
强制转换为array和string。您也可以考虑使用非常有用的SwiftyJSON库来帮助处理JSON对象。