簡體   English   中英

Swift 4 - 訪問Codable Struct的通用Json對象

[英]Swift 4 - Accessing Generic Json Object for Codable Struct

我的API總是返回一個具有以下結構的Json:

{
    "data": Object
}

其中“Object”可以是原始數據(例如String),另一個Json對象或Json數組。

{
    "data": "string"
}

{
    "data": {
       "id_user": 1
       "name": "name"
    }
}

{
    "data": [{
       "id_user": 1
       "name": "name"
    },
    {
       "id_user": 2
       "name": "name"
    }]
}

如何訪問“對象”以便我可以使用Codable結構解析它?

好的,我找到了一個使用Dictionary的解決方案。 通過這種方式,我可以訪問“數據”內容,將其轉換為數據,然后使用Codable進行解析。 這是代碼:

let json = try JSONSerialization.jsonObject(with: response.data!, options: []) as! [String: Any]
guard let dataKey = json["data"] else {
    throw CustomError.dataNotFound
}
let jsonData = try JSONSerialization.data(withJSONObject: dataKey, options: [])
let result = try JSONDecoder().decode(CodableStruct.self, from: jsonData)

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM